基本情報技術者試験 2001年度 = 平成13年度・秋期 午前 問5

 2の補数で表された負数10101110の絶対値はどれか。

 ア 01010000  イ 01010001  ウ 01010010  エ 01010011

解答

 ウ

解説

 2の補数は、すべてのビットを反転(0を1にして、1を0にする)して得られる1の補数に1を加えることによって得られます。
 これによって得られた値に、同じ作業(すべてのビットを反転して1を加える)を再度適用すると、もとの数に戻ります。
 したがって、負数10101110から、その絶対値を得る手続きは以下のようになります。

   ┌─┬─┬─┬─┬─┬─┬─┬─┐    │1│0│1│0│1│1│1│0│  -82    └─┴─┴─┴─┴─┴─┴─┴─┘         ↓ 全ビットを反転    ┌─┬─┬─┬─┬─┬─┬─┬─┐    │0│1│0│1│0│0│0│1│  +81    └─┴─┴─┴─┴─┴─┴─┴─┘         ↓ 1を加える    ┌─┬─┬─┬─┬─┬─┬─┬─┐    │0│1│0│1│0│0│1│0│  +82    └─┴─┴─┴─┴─┴─┴─┴─┘


BohYoh.comトップページへ