数字-コンピュータの基礎の基礎

Bit : ビット

コンピュータが扱う最小単位といえます。

binary digitからの造語。ビットは一般的に2進数で表します。0と1。2進数:10進数で考えると1は2進数で1。2は2進数で10。CPUが32ビットというと、1111111111111111111111111111111と32個のビット列です。2進数でいうとです。10進数では、 4,294,967,295です。単純にはこれ以上の数字は扱えなくなりますが、分解すれば扱えます。(4,294 x 1,000,000) + 967,295とすればそれぞれの値は32ビット以内で表せることができるので問題ありません。ただ、人間の頭でも同様ですがそのまま数字を記憶するのと数式で記憶するのでは、そのままのほうが簡単で(計算しなくていいので)取り出しが早いですね。

また、さらに高性能なのは64ビット。2進数では1が64個並んだものが最大になります。2の64乗です。

Byte : バイト

8bit(11111111)を1バイト(Byte)と呼びます。

IBMのコンピュータが8bitをバイトと言っていたのが語源です。正式な名称としては、8ビットを1オクテットと呼ぶのですが、こちらはだれも呼ぶ人はいないかもしれません。

 

ビット演算

コンピュータの勉強していると、ビット演算という言葉が出てきて、何をするかというと2進数の計算をするわけです。

足し算なら割と簡単で、1000 + 101 = 1101です。桁上がりがある場合は、1001 + 11 = 1100ですね。プログラム中でも書くことができるんですが、やめておきましょう。可読性が落ちます。わからない人が多いんじゃないですかね。DBのテーブル設計においてもBitという型があるものもありますが可読性という意味では使わないほうがいいです。同じようなことをしたければ、IntegerかChar(1)とかがいいです。(細かい話ですが、DBだと1bitの型使ってもByte単位で扱うことが多いので7bit無駄が生じます)

符号

先頭のbitを符号ビットとして扱うことで0の場合正、1の場合負と扱います。

8ビットの場合だと7bitまでの数値しか表せなくなり、64までとなりますが、マイナス方向もあるわけなので実質は同じですね。

 

 

コメントを残す