見出し画像

2の補数(2進数のマイナス表現)

この記事は、it-sukima.com に移管されました。

-----------------------------


#前提

スクリーンショット 2020-04-18 20.01.22

まず、「2の補数」問題には前提ルールがあります。

①「bit長を定義して」表現することが決まっている
   ┗ 8bit =1Byte として、出題されることが多い。
②問題ごとに「符号付き」「符号なし」か前提が定義されている

#2進数のマイナス表現 (数値感覚)

スクリーンショット 2020-04-18 20.22.55

前提でもお話したように、2の補数問題では
「符号なし」「符号つき」が問題文に記載されています。

そのため、「符号なし」:+表現のみ/「符号つき」:+ー表現
では、それぞれ、2進数と10進数の数値は上記のようにかわってきます。

スクリーンショット 2020-04-18 20.37.29

また、符号ありの場合は、最も大きい位の値が 0:正数:プラス / 1:負数:マイナス となるため
問題文の定義で「マイナスを2の補数で表す8ビットの数値」ときたら、この前提を覚えておくと、数値感覚がつかみやすいです。

#2の補数・変換方法

スクリーンショット 2020-04-18 20.41.34

例題として、10進数の 116 → -116 のときの2進数を求めます。

求め方は下記の手順です。

0と1を反転させて、1を足す

計算方法は下記のとおりです。
2進数の世界では、 1 + 1 = 10 となるため、繰り上がるときも10進数の筆算と同様に計算しましょう。

スクリーンショット 2020-04-18 20.43.29

#過去問を解いてみよう

最後に過去問を解いてみましょう。

noteでの解説が難しかったので(すだれ算とか…)
動画で補完していただけると嬉しいです!


この記事が気に入ったらサポートをしてみませんか?