4月27日(月)1コマ目
今日、やったこと
- [練習問題]基数の補数・減基数の補数
- 2進数の2の補数を求める
- [練習問題]負数を2進数へ変換
今日のホワイトボード
2進数の2の補数を求める
正攻法と引き算が苦手な人向けの2種類ある。
〇正攻法(ダイレクトに2の補数を求める)
2進数において、2の補数は足すとケタ上がりする最小の数。
1ケタなら足すと10になる数。
2ケタなら足すと100になる数。
よって、10や100、1000から引き算をすればOK。
![]() |
| 図 2進数の2の補数を求める①(正攻法) |
〇1の補数->2の補数へ
まず、1の補数を求めてから+1して2の補数へ。
①1の補数をもとめる
2進数において、1の補数は各ビットを反転(0->1、1->0)しただけ。
②2の補数へ
1の補数に+1すると2の補数になる。
![]() |
| 図 2進数の2の補数を求める②(1の補数->2の補数へ) |
[練習問題]基数の補数・減基数の補数
8進数の基数の補数(8の補数)、減基数の補数(7の補数)を求める問題の正解例。
⑧6(8進数)
![]() |
| 図 8進数の6の8の補数、7の補数 |
⑨26(8進数)
![]() |
| 図 8進数26の8の補数、7の補数 |
10進数の負数を2進数へ
コンピュータでは負数を2の補数で表すことが多い。
以下の手順で、負数の10進数を2進数(2の補数)に変換。
①10進数の絶対値を求める
符号をとるだけ。
②絶対値を2進数へ
③②の2進数の2の補数を求める
![]() |
| 図 10進数の負数を2進数へ |
[おまけ]なぜ負数を2の補数で表す
ひき算を足し算で置き換えることができるから。
ポイントはケタ数が決まっており、あふれた値は無視される点。
![]() |
| 図 なぜ、負数を2の補数で表す |
次回は
以下のテストをします。
- 基数の補数・減基数の補数
- 負数の10進数を2進数へ
符号付き2進数を10進数へ





