Jのブログ

人生の記録

【応用情報技術者】【基礎理論】楽しく学ぶ補数

どうもトニーです。 補数とは…意味わからないですよね…難しいですよね… でも大丈夫、補数の存在意義を知ると友達になれそうです。

補数

補数って?とにかくまずは計算方法。

1の補数の求め方

各桁の1と0を反転させる

例:10101の1の補数は01010

2の補数の求め方

1の補数に1を足す

例:10101の2の補数は01010に1を足して01011

2の補数の使いどころ

結局この補数ってなんで存在しているか? 答えは、コンピュータは引き算ができないから。衝撃的事実。 コンピュータは、引き算を足し算に変換して計算しています。 そこで登場するのが2の補数です。

実際にやってみます。簡単な例で。

4-2=2

これを、2進数の足し算でやってみます。引き算を足し算で計算する!

4は2進数で0010 2は2進数で0001

まずは、2である0001の2の補数を計算します。

0001を反転1110、そして1を足す1111

あとは足し算するだけ

0010 + 1111 = 10001

そして、先頭のはみ出したビット1をとって…

0001ということは、10進数で2

オーマイゴッド。

では、8-4=4をやってみます。

8は2進数で0100 4は2進数で0010

まずは、4である0010の2の補数を計算します。

0010を反転1101、そして1を足す1110

あとは足し算するだけ

0100 + 1110 = 10010

そして、先頭のはみ出したビット1をとって…

0010ということは、10進数で4

(((( ;°Д°))))