2進数の足し算、引き算 〜基本情報技術者試験対策〜

スポンサーリンク
休学生活

今回は、2進数の計算をしましょう。

今回やるのは、足し算と引き算です。

突然ですが、コンピューターは引き算を知りません
では、一体どのようにやるのか!?

それらも踏まえ、勉強していきましょう!

スポンサーリンク

2進数の足し算

2進数の足し算といっても、その基本は
10進数(普段使っている数字)の場合と変わりません。

ここでは例として、
11(2)+10(2)の計算をします。

通常の筆算となんら変わらないのが見てとれると思います。

ただ、2進数ですから2で桁が上がることに注意してください。

足し算の場合は特にコツもなく、フツーに足すだけです。

スポンサーリンク

2進数の引き算

多少問題なのが、引き算です。

冒頭お話した通り、コンピューターは引き算を知りません。
ただ、足し算は得意です。

なのでコンピューターには足し算を命じ
僕らは引き算の結果を得るのです。

「なにいってんだ?」って思う方もいるかもしれません。
ただ足し算したのに数値が減る場合がありますよね。

そうです。負の数を足せばいいんです。

数学の授業でこんな式を見ませんでしたか?
5+(-3)=2
これも一応、足し算ですよね?

この原理を使います。

ただその際に厄介なのが、どうやって(-3)のような数値を得るか。

シンプルに符号を変えるだけでは、上手くいきません。

3+(-3)をしたにも関わらず、答えは0になっていません。

補数

ここで登場するのが「補数」という考え方です。

補数には、
「その桁数での最大値を取るための補数」と
「次の桁に上がるための補数」という2種類が存在します。

今回は後者を使って計算します。

後者の補数(2の補数という)の求め方
1.全てのビットの数を反転させる
2.それに1を加える

だけです。

つまり3(2)の補数はこのように得られます。

ここで得られた11111101を使って、計算してましょう。

先ほど同じ条件のもと、
今度は補数を用いて計算したところ
見事に0という答えを導くことができました。

このように、2進数の引き算を行う場合は
2の補数を用いて計算すればいいんです!

2の補数の求め方は、
1.全てのビットの数を反転させる
2.それに1を加える

意外とシンプルなので、早めにマスターしちゃいましょう!

スポンサーリンク

参考書

ちなみに僕の参考書はこちらです!


キタミ式イラストIT塾 基本情報技術者 令和02年 (情報処理技術者試験)

コメント

タイトルとURLをコピーしました