LET'S TRY
問題文
8ビットの2進数11010000を右に2ビット算術シフトしたものを,00010100から減じた値はどれか。ここで,負の数は2の補数表現によるものとする。
fe-siken.com
IPAの公開問題について ↗
まずは自分で考えて、理由を確かめよう。
8ビットの2進数11010000を右に2ビット算術シフトしたものを,00010100から減じた値はどれか。ここで,負の数は2の補数表現によるものとする。
fe-siken.com
IPAの公開問題について ↗
自分で考えてから、解説を開いてみてね。
正解は ウ です。
算術シフトでは符号ビットを保持しながらビット列をずらし、右シフト時には空いた位置に符号ビットと同じ値を詰めます。11010000を右に2ビット算術シフトすると11110100になります。これは2の補数表現で-12を意味します。00010100は+20です。計算は「20−(−12)=32」で、32を2進数に変換すると00100000となります。
学習ノートを読み込んでいます…