IT関係の業種に就く方は基本情報技術者試験の勉強などを通して2進数の勉強をします。
その際によく疑問としてあげられる3つについて解説しました。深いところまで調査した上で説明していますので、目次の中で知っている項目があったとしても飛ばさず読んでいただくことで新しい知見が得られるでしょう。
謎1:そもそもなぜ2進数を使うのか
コンピュータにおいて重要な部品はたくさんありますが、根本の根本はピンという部品です。コンピュータはピンに電気が流れているのか流れていないのかを読み取り、1つの情報として認識します。
ピンに電気が流れているか流れていないかの2パターン、これを表すためにぴったりなのが2進数だからコンピュータの世界では2進数が使われるのです。ピン1つで2進数1桁、2つで2桁表せることになります。
謎2:補数の作り方
マイナス記号を使わずにマイナスの値を表すために存在する補数。その補数の作り方は「2進数で表された各桁の数値を反転させた値に1を足す」です。
例として「0011」の補数を作る流れを載せておきます。
①反転「1100」②1を足す「1101」(完成)
0011の補数、つまりマイナスバージョンは1101だと分かりました。
ではなぜこの手順を踏むことで補数が作れるのでしょうか?
その答えは「元のプラスの値と足し合わせて桁あふれをさせたて0を作ることができる数」を導き出せるからです。
先ほど例で出した「0011」の場合で考えてみましょう。
「0011」に補数「1101」を足してみます。すると「10000」になりますが、コンピュータは溢れた桁は無視します。つまり5桁目の1は無視されて「0000」になります。足し合わせた結果、値は0になりました。
キーワードは桁あふれ&0です。覚えておきましょう。
謎3:論理和や論理積の「論理」って何?
論理の意味を分かりやすくするために、反対を考えてみましょう。論理和や論理積の反対は単純な和と積です。
和と積の場合は算術演算と呼ばれます。算術演算の場合は全ての桁全体を見て演算を行います。その結果桁上がりが発生します。
それに対して論理和や論理積は各桁ごとに判断します。そのため桁上がりしません。
まとめると、論理とは「桁上がりをする算術演算と区別し、各桁ごとに演算をすることを指している」ということになります。
参考ページ:【5分で覚えるIT基礎の基礎】あなたは論理演算がわかりますか?
まとめ
2進数を知ってどんな意味があるのか?そう思う方は多いかもしれません。しかし簡単な計算処理の中でも2進数を知っていたからこそ解決できた問題がいくつかありました。2進数について深く知っておきましょう。あなたにも思わぬところで役に立つ日が来るはずです。