情報の表現方法


●「情報処理」というぐらいであるから,プログラムとは「情報」を「処理」するわけである。
 そこで,処理対象となる「情報(データ)」をコンピュータでどう表現しているか,という点を
 学習し,さらにC言語でそれらの「情報(データ)」を扱う方法を学ぼう。

  1. コンピュータ上で情報(データ)は,ビット(bit, binary digit)で表現されている。
    ビットを複数集めて,2進数とみたてることによって,0以上の整数を表現することが出来る



    以下の図のように,ある整数値とある文字を対応づけることによって,文字を表現することが出来る
    このように,整数値と対象を対応づけることによって,その対象を表現することをコード化と呼ぶ。
    コード化の例としては,県コード高校コード商品コードや,書籍コード(ISBNコード)などがある。



    英米圏の文字を7ビットで表現した文字コードをASCIIコードと呼ぶ(下図)。



    このような情報は,当然,メモリ上のビットで表現されることになる(下図)。




  2. 0以上の整数の表現の仕方は学習した。それでは,負の数を含めた整数(符号つき整数,signed integer)
    表現方法を学習しよう。方法は簡単で,下図のように0以上の整数を表す場合の,上半分の領域を負の整数の部分
    を表現するのに使う
    のである。この方法を,2の補数基数法と呼ぶ。



    つまり,同じビットパターンを「0以上の整数(符号なし整数,unsigned integer)」と扱うか,
    「負数を含めた整数(符号付き整数)」と扱うかで,表現している値が異なってくることになる



  3. さらに,16bit(2バイト)と,32bit(4バイト)で整数を表現した場合を考えてみよう。



    2バイトを使用すると,日本語文字を表現することが出来る(下図)。



    文字コードだけでなく,改行を表す目印も,オペレーティングシステムによって異なる(下図)。




  4. 次に,ビットパターンで実数(小数点数以下の値がある数)を表現する方法を簡単に説明する。

    まず,固定小数点数を紹介する(下図)。この表現方法は,一番左のビットを正負を表すビットとして
    使う(一番左のビットが0なら正数,1なら負数)。そして,小数点の場所を定めておく。下図の場合は,
    右から3ビット目と4ビット目の間に小数点がある物として考える。



    しかし,このように小数点の位置を固定するより,小数点の位置を随時ずらせるように
    しておいた方が,柔軟に実数を表現できる。このように,小数点をずらせるようにした
    実数の表現方法を,浮動小数点数(floating point number)と呼ぶ(下図)。下図は今はお
    ぼえる必要はない。



    以上のように,コンピュータ上では,ビットの集まりを使って,
     ・0以上の整数(符号なし整数)
     ・負数も含めた整数(符号付き整数)
     ・文字(0以上の整数で表現する)
     ・実数(浮動小数点数)
    などが表現できるわけである。