LoginSignup
0
0

More than 3 years have passed since last update.

学習メモ / 2進数の補数

Posted at

2進数の補数とは?補数を使って何が出来るかをまとめます。

何が出来る?

「補数」を使えば、2進数でマイナスを表現出来る。例えば、2進数同士の引き算の計算をするときに使える。

補数とは

Wikipedia
ある基数法において、ある自然数aに足した時、桁が1つ上がる数のうち最も小さい数

例えば、10進数で考えてみる

ある数に何を足したら10になるか考える。
例えば、4の補数は6(4に6を足すと10になるので)。

次に補数を使って引き算をしてみる。
引き算をするには、「補数を足し、上位の1桁を無視」することで計算できる。

例:
7−4

① 4の補数は6

② 7に補数を足す
= 7+6
= 13

③ 10の位を無視する
= 3

2進数でやってみる

流れは一緒なので、2進数で引き算をしてみる。
やり方は、同じく「補数を足し、上位の1桁を無視」。

例:
1111 - 1101 (10進数では15 - 13)

① まず、1101の補数を求める。
1101の補数 = 0011

2進数の補数の求め方:
ビットを反転させて1を足す。

1101
↓ 反転
0010
↓ 1を足す
0011

なので、1101の補数は0011

補数であるか確認してみる。
1101 + 0011 = 10000 (桁が1つ上がったので補数)

② 補数を足し
1111 + 0011 = 10010

③ 上位の1桁を無視
0010

結果:0010(10進数で2)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0