4月24日(月)2コマ目
今日、やったこと
- [確認テスト]基数の補数、減基数の補数
- 10進数負数を2進数へ
今日のホワイトボード
負数を2進数で表す
方法はいろいろ考えられる。
が、10進数のように符号は使わない。
![]() |
図 10進数負数を2進数へ |
絶対値の2の補数で表す
もろもろの事情で10進数の負数を2進数へ変換するには、絶対値の2の補数で表す。
![]() |
図 負数は絶対値の2の補数で表す(変換手順) |
①絶対値を求める
絶対値とは0からの距離。要は符号をとった値。
② 絶対値を2進数へ
ビット数が指定されているはず。そのビット数に合わせる。
③②を2の補数へ
引き算で一気にやってもいいが、苦手な人は1の補数->2の補数の2段階で。
1の補数へ => 各ビットを反転(0->1、1->0)
2の補数へ => 1の補数+1
なぜ、2の補数?
結論から言えば、加算回路だけで引き算もできるから。
![]() |
図 6-2で確認 |
ポイントは桁数を限定して、上位のケタの値を無視すると加算回路で引き算ができる。
10進数でも同じことができる。
10進数なら負数は10の補数で表す。
![]() |
図 10進数で確認 |
次回は
テストはしません。
2進数(負数も含む)=>10進数へ基数変換をします。