1, 2, 4, 8, 16, 32 …

 例えば、アイコンを作ろうとした時、サイズをどうしますか?

 私は、64 x 64 とか、512 x 512 と言ったサイズにします。64 とか 512 って中途半端なサイズだなって思いますか? それとも切りのいいサイズだと思いますか?

 コンピュータの CPU とか、データの長さを表すのに bit (ビット)という単位がよく使われます。32 bit とか、64 bit とか。bit とは、2 進数の桁数です。32 bit だと 2 進数の 32 桁分の長さのデータということです。

 コンピュータはこの 2 進数を基本とします。電気が流れれば 1、流れなければ 0(実際は電圧が high か low かです。)と 2 つの状態があるので 2 進数になります。

 そうすると、8 bit のデータを考えたときに、それぞれの桁に 1 が有った時、10 進数では次のようになります。

2 進数10 進数
000000011
000000102
000001004
000010008
0001000016
0010000032
0100000064
10000000128
2 進数と 10 進数

 桁が上がる毎に 2 倍になっています。2 進数は桁の重みが 2 なのでこうなります。10 進数は桁の重みが 10 なので桁が上がる毎に 10 倍されます。

 00000001 は 20 と表すこともあります。べき乗で表現したものです。 00000010 は 21 になります。表にすると次のようになります。

2 のべき乗10 進数2 のべき乗10 進数2 のべき乗10 進数
2012825621665536
21229512217131072
2242101024218262144
2382112048219524288
241621240962201048576
253221381922212097152
2664214163842224194304
27128215327682238388608
2 のべき乗と 10 進数値

 ITエンジニアは、この数値に度々出会うことになり、いつしかこの数が切りのいい数字だと感じるようになります。そして、サイズなどを決めるときに、無意識にこの数を使っています。

未分類

Posted by sirius