コンピュータと電気


プログラミングファン

昨日、コンピュータは所詮0か1の2進数で動いているって私は言いました。

0とか1って実際はどうなのか?コンピュータって電気で動きますよね。何をもって0とするのか、何をもって1とするのか?

これを知っている人は、当たり前ですが、知らなかった人にとってはへぇ〜ってなると思いますので、ちょっとこの辺について書こうと思います。

例えば、信号線が1本あるとします。

この信号線に電圧がかかっている(あるいは電流が流れている)状態を1、電圧がかかっておらず0ボルトの時は0と識別しています。簡単に言えばONの時は「1」でOFFの時は「0」ということです。

そうすると1本の信号線では「0」と「1」の2つの状態が表現できますよね?
この1本の信号線(電線)でで表現できるものを1ビットとします。

では2本の信号線があったとします。左右に並べてみます。するとこれは2ビットですね?
2ビットでは以下の4パターンを表現できます。

00(両方ともOFF)
01(左はOFF、右はON)
10(左はON、右はOFF)
11(両方ともON)

仮に信号線が3本あったとします。
000
001
010
011
100
101
110
111
八つのパターンが表現できますね?

電線1本ごとにONとOFFの2パターンですから、3本あれば2x2x2=8
パターンです。当然と言えば当然ですね。

これはnビットは2のn条パターンがあるということになります。

次に4ビットを考えます。ここまでは最低限押さえておく必要があります。
4ビットだと、2x2x2x2=16パターンあります。

この16パターンがコンピュータの内部での表現の基本です。いわゆる16進数と言われるものです。

10進数だと0から9の10個の数字一桁で表現できます。

コンピュータの16パターンを一桁で表現するためには0−9の10個の文字と更にA〜Fの6文字を加えて一桁で表記します。

すなわち

1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

です。10新数の「15」は16進数の「F」です。ちなみにこの0〜Fの16種類の一桁は4ビットです。

10進数ー2進数ー16進数を対比させると以下の通りです。
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F


なので、4本の信号線、すなわち4ビットあれば16通りの表現ができます。

4ビットの16通りが16進数の一桁ですのでこの単位は重要です。

よく、コンピュータのデータなどで、1B2A7230461B2A74・・・・みたいなデータを見たことはありませんか?

これはまさしく16進数です。16進数2桁で、00〜FFの256通りの表現を組み合わせています。

16進数2桁は8ビットです
0000 0000 ←4ビット2つです。一桁め、2桁めそれぞれ0ーFの値をとりますから、00ーFF で256通りです。


↑ ここをポチりこお願いいたしますw


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です