読むだけでいい基本情報技術者試験対策1:情報の表し方

今回はコンピューター内部での情報の表現の仕方について勉強したことを書いていきます。

 

コンピューターの中では論理演算、つまり0と1のみで情報を表現しているというのは有名な事実です。0ならoffを表し、1ならonを表すわけです。つまり、0という数字1つでoffという一つの状態(情報)を表現できるわけです。ですので、この0か1が1つだけある状態を、情報量の最小単位として1ビットと定義します。1ビットなら2通り(0,1)、2ビットなら4通り(00,01,10,11)なので、必然的にxビットで表現できる情報量は2のx乗通りになりますね。

 

この1ビットを8こ集めたものを1バイトと定義します。1バイトで表現できる情報量は2^8通りになります。

 

私達が日々体験しているように、コンピューターが扱う情報の量は膨大なものです。従ってビットやバイトではとんでもない桁数になって理解不能なので、一定の桁数で単位を定義することにしましょう。

10^3バイト、つまり、1000バイトなら1k(キロ)バイトというように10^n+3づつ増やしていくとこのようになり


ます。

  • 1KB=10^3B
  • 1MB=10^6B
  • 1GB=10^9B
  • 1TB=10^12B

となります。例えばこの画像は(私が大学でレポートを作成する際に作成した図です)

f:id:meisekimu_bot:20190213202828p:plain

プロパティを見てみると「75.7 KB (77,521 バイト)」と書いてあります。

実際に75.7×10^3を計算してみると…

75.7×10^3=75700 と若干のズレがあります。

これ、実は1KBというのは正確には1024Bだからなんですね。ですのでこの点を修正してみると、

1024×75.7=77516.8と大体近似していることが分かります。

これは何故かと言うと、1000という数字を出すためには2^10ビット必要だからなのです。コンピューターの中では2進数を使用しています。そのため10進法よりも桁数の上がり方が激しいです。10進法でいう1000を表現するには2進法で1000000000という数字になり、これは10桁になります。ですので必要な情報量は2^10となり、

2^10=1024 と1024に等しくなるのですね。

この説明に関しては以下のウェブサイトが詳しいです。

royuck.chu.jp

 

逆に小さい値を表すときに使う単位もあります。これは時間を表現するときによく使われるものです。コンピューターの処理速度は年々加速してますよね(winxpの頃は起動に10分とか平気でかかってました)。ですので1秒の整数倍として以下のように定義されています。

  • 1m=10^-3秒(0.001秒)
  • 1μ=10^-6秒(0.000001秒)
  • 1n=10^-9秒
  • 1p=10^-12秒