整数を8ビットの、2の補数表現で表わしているとする。次の二つの数の和の値として、10進数表現で正しいものを選べ。
00001101 + 11101001
@ -8 A -9 B -10 C -11 D -12
B
2の補数は、整数を2進数で表現し、全ビットを反転させて、1を加えた値である。最上位ビットが1の時がマイナス値を表す。
(00001101)2 は 10進数で 23+22+20 = 12
(11101001)2 は、最上位ビットが1なのでマイナス値であり、全ビットを反転させて、1を加えると
(00010111)2 = 24+22+21+20 = 22
従って、(11101001)2 = -22
よって、
12+ (-22) = -10
【別解】
00001101 + 11101001 = 11110110
最上位ビットが1なのでマイナス値であり、全ビットを反転させて、1を加えると
(00001010)2 = 10
従って、(11110110)2 = -10
目次 | W−2 |