基本情報技術者(基礎理論③)

基本情報技術者

この記事では負の2進数についてご紹介いたします。
普段私たちが使っている10進数では負の表現(マイナス)もありますよね!
「やば、今日マイナス5℃じゃん…」とか(-_-;)
ではほかの2進数でも負の表現はあるのでしょうか?
結論から言うとあります!ではどのように表現しているのか、ご紹介していきましょう!
(2進数が分からない方は是非、過去記事をお読みください!)

2進数の負の表現方法

基本情報技術者(基礎理論①)でもお伝えしましたが、2進数はコンピュータ内でも使用されている数え方です。
コンピュータは電気信号のONとOFFで情報のやり取りをするので0か1しかわかりません。(けなしているわけではないですよ!!)つまり私たちが使っている「ー(マイナス)」記号は使えないわけです。なのでルールを決めて負を表現しています。ルールには以下の3種類あります。
(補数表現に関しては今回はシンプルにしてお伝えします。深い解説はまた記事にします!)

絶対値表現
1の補数表現
2の補数表現

絶対値?補数?、それっておいしいのか??いいえおいしくありません………
失礼しました。ひとつづつ見ていきましょう!

絶対値表現

絶対値表現というのは、ビット列の最前の1ビットで「正負」を表し、残りの1ビットで「値」を表す表現方法になります。先頭の1ビットが「0」の場合は「正」、「1」の場合は「負」となります。
絶対値表現における最前の1ビットのような「正負表現のためのビット」を符号ビットといいます。
では、いくつかの例を見てみましょう!
以下は10進数の「7」と「23」の正負を8ビットの2進数で表現した例となります。

1の補数表現

1の補数表現というのは、全ビット列を反転させることで正負を表現する方法です。反転とは単純に0と1を入れ替えることを指します。
例として10進数「12」を1の補数表現にしてみましょう。

2の補数表現

2の補数表現というのは、全ビット列を反転させた後に1を足し正負を表現する方法です。
今回も10進数の「12」を例としてみてみましょう。

まとめ

いかがでしたでしょうか。私、実はここすごく苦手だったんです。(もともと理系なのに数学が苦手なのもありますが…)なので今回は本当に抑えておいていただきたい場所だけに絞ってお伝えしました。(補数表現の部分は別記事を投稿するつもりです。基本情報技術者には直接関係ありません。興味のある方は是非!)

①絶対値表現は先頭のビットで符号を表現する。
②1の補数表現は、全ビットを反転させる。
③2の補数表現は、全ビットを反転させた後、1を足す。



コメント