2 の補数表現
10 進数の −10 を 8 ビットの 2 の補数で表したものはどれか。
- ア10001010
- イ11110101
- ウ11110110
- エ01110110
正解と解説を見る
正解 ウ
この問題の基礎知識
- n ビットの 2 の補数表現では,負の数 −x を 2ⁿ−x で表す。x のビットを全て反転し(1 の補数),1 を加えても同じ結果が得られる。
- 2 の補数表現では最上位ビットが符号を表し,0 なら 0 以上,1 なら負の数である。8 ビットで表せる範囲は −128〜127 である。
- 負の数の表し方には,ほかに符号ビットと絶対値で表す符号付き絶対値表現と,全ビットを反転する 1 の補数表現がある。この二つでは 0 の表現が+0 と −0 の二通りになる。
ア10001010
最上位ビットを符号とし,残り 7 ビットで絶対値 10 を表した符号付き絶対値表現である。2 の補数表現ではない。
イ11110101
10(00001010)の各ビットを反転しただけの 1 の補数である。2 の補数は,これに 1 を加えて求める。
ウ11110110正解
10 は 00001010 であり,全ビットを反転すると 11110101,これに 1 を加えると 11110110 となる。これが −10 の 8 ビット 2 の補数表現である。
エ01110110
最上位ビットが 0 なので正の数(10 進数の 118)を表す。負の数の 2 の補数表現では最上位ビットは 1 になる。
検証用の出典出典照合済み
JIS X 0001 情報処理用語(基本用語)照合の根拠(1 件)
- ウ(正解): 負の数の補数表現が対象であることの確認。値そのものは note の計算で検算(出典不要の基数変換)
負の数の表現(補数表現)
IPA 応用情報技術者試験シラバス Ver.7.2 · 中分類 1 (2) 数値の表現(新しいタブで開きます)
検算: 10=00001010,全ビット反転 11110101,+1 で 11110110(=246=256−10)。10001010 は符号付き絶対値,11110101 は 1 の補数,01110110=118(正)。基数変換・補数計算のみで出典不要。