PR

今日はプログラマの日

この記事は約4分で読めます。

ソースコード

こんにちは、ヒーニョンです。

今日は「プログラマの日」なのです。ロシアでは公式な休日となります。日本人プログラマも労ってほしいです。(・_・、)

今回の記事は少し難しい話になりますが、なるべく優しく書きますので、最後までお付き合いしていただければ嬉しいです。

なぜ9月13日が「プログラマの日」

コンピュータであつかうデータの小さな単位として1バイトがあります。バイトっていう単位は聞いたことありますよね? ハードディスクの容量が500Mバイトとかいいますよね。

では1バイトとは何かというと8ビットなのです。ビットも聞いたことありますよね? コンピュータ(CPU)の性能で64ビットコンピュータと言ったりしますね。

ではビットとは何かというと、コンピュータはデジタルなので演算処理は「OFFかON」で計算をします。これは「0か1」で計算をしていることになります。「0と1」の2種類の数値を扱っているので2進数といいます。我々は普段の生活で「0〜9」の数値を使っていますよね? これは10種類の数値を扱っているので10進数といいます。
8ビットというのは2進数の桁数が8桁あることになります。いくつか10進数を2進数で表してみます。

  • 0(10進数) → 00000000(2進数)
  • 1(10進数) → 00000001(2進数)
  • 2(10進数) → 00000010(2進数)
  • 3(10進数) → 00000011(2進数)
  • 4(10進数) → 00000100(2進数)
  • 5(10進数) → 00000101(2進数)

0と1しかないので、直ぐに桁が上がっていきますね。
2進数

それでは、2進数の8桁の最大値は11111111ですよね。これを10進数にするといくつでしょうか?
答えは256なのです。「プログラマの日」は1月1日から256日目にあたる9月13日となります。では閏年はどうなるの? そう256日目なので9月12日になります。閏年によって変わるロシアの休日は珍しいですよね。

32ビットコンピュータとは?

32ビットというのは32桁の2進数になりますよね。「11111111111111111111111111111111」10進数に直すと4,294,967,296になります。
32ビットコンピュータはこの数値を1回で演算する能力があります。1秒間に何回計算するかがGHz単位のクロック数です。
IT makes you think by Mark Freeth

IT makes you think. by Mark Freeth

演算する部分をレジスタといいますが、もう少し正確にいうとレジスタとメモリを繋いでいるバスという配線があるのですが、ここを1回で流れるデータ量が32ビット必要になります。だからレジスタとバスが処理できる数値の最小値が32ビットであるコンピュータを指しています。

64ビットコンピュータのメリット

最近のパソコンのほとんどが64ビットコンピュータになりました。いままで1回の処理で32ビットしか計算できなかったのが64ビット計算できるようになり処理速度が速くなる恩恵を受けられます。でも注意してください。64ビット専用にできたアプリでないと恩恵はあまり受けられません。まだまだ32ビット用のアプリが64ビットマシーンの32ビット仮想空間で動いているだけです。32ビットのアプリを64ビットに作り替えるのは時に困難だったりしますし、64ビットアプリは32ビットコンピュータでは動作しないので、32ビットと64ビットのアプリ両方をメンテナンスする必要がでてきます。
現状で一番の恩恵を受けているのはメモリなのです。
メモリー

Kingston KVR667D2D4F5/2G by Stefan Ledwina

32ビットは4Gバイトです。だから32ビットコンピュータの最大メモリ容量は4Gでした。しかし64ビットになるとほぼ無限です。この恩恵は非常に大きいです。

16進数??

16進数とは「0〜9,A,B,C,D,E,F」の16種類の数値を扱って表現します。プログラマは2進数より16進数で考えることが多いです。
16進数

なぜかというと2進数は桁数が長いですよね。16進数だと8ビット(8桁)はFFとなり2桁で表せます。32ビット(32桁)ならFFFFFFFFとなり8桁です。2進数の4桁(1111)分を16進数の1桁(F)で表せるので2進数と16進数の変換は簡単だし、桁数が短いので見やすくなります。そういうことからプログラマは16進数を好んで使います。

まとめ

僕のブログに来てくださる方の多くがプログラマではないと思いますが、少しでもプログラミングについて教養として知っていただければ幸いです。
難しい話をここまでお付き合いいただきありがとうございます。

ではまたヾ(^^へ)

こちらで購入できます

関連記事

コメント

タイトルとURLをコピーしました