問題プレビューID: d40837fb

問 1

8 ビットの2進数 11010000 を右に 2 ビット算術シフトしたものを,00010100 から減じた値はどれか。ここで,負の数は2の補数表現によるものとする。

解説

8ビットの2進数 11010000 は最上位ビットが 1 なので負の数であり,2の補数表現で −48-48 を表す。これを右に 2 ビット算術シフトすると,符号ビットを保持したまま右へ 2 ビット移動し,上位 2 ビットには符号ビットの 1 が入るので,11110100(−48÷4=−12-48 \div 4 = -12)になる。

00010100 は 2020 なので,20−(−12)=3220 - (-12) = 32 となり,2進数では 00100000 である。

したがって,正解は「ウ」である。