5月18日(水)1コマ目

今日、やったこと

負の10進数を2進数へ基数変換

今日のホワイトボード

負の10進数を2進数へ基数変換

負の10進数を2進数で表す際、絶対値の2の補数(基数の補数)で表します。

10進数の-4を4ビットの2進数に変換する場合

①-4の絶対値を求める

 -4の絶対値は4。

② 4を4ビットの2進数へ

 0100になる。

③2進数0100の2の補数を求める

 5ビットの最小値(10000)からの引き算で求めると

 10000 - 0100 = 1100


 1の補数=>1の補数+1で求めると

 1の補数は 1011

 +1すると 1100


この1100が10進数-4を4ビットの2進数にした値。


なぜ負数を2の補数で表すのか?

引き算が足し算でできるから。

図 なぜ負数を2の補数で表すのか?
コンピュータに足し算回路さえあれば2進数の足し算と引き算ができることになります。


なぜ、引き算が足し算でできるのか?

ポイントは計算する桁数を縛ることです。

4ビット同士の計算なら結果も4ビットに。

5ビット目にケタ上がりする値は無視。

図 なぜ足し算で引き算ができるのか?
10進の場合も同じように計算する桁数を縛れば、負数を絶対値の10の補数(基数の補数)で表せば、足し算で引き算ができる。

次回は

10進数の負数を2進数へ基数変換するテストをします