情報の表現方法
●「情報処理」というぐらいであるから,プログラムとは
「情報」を「処理」する
わけである。
そこで,処理対象となる
「情報(データ)」をコンピュータでどう表現しているか
,という点を
学習し,さらに
Java言語でそれらの「情報(データ)」を扱う方法
を学ぼう。
コンピュータ上で情報(データ)は,
ビット
(
bit
,
b
inary dig
it
)で表現されている。
ビットを複数集めて,2進数とみたてることによって,
0以上の整数
を表現することが出来る
。
以下の図のように,
ある整数値とある文字を対応づける
ことによって,
文字
を表現することが出来る
。
このように,整数値と対象を対応づけることによって,その対象を表現することを
コード化
と呼ぶ。
文字をコード化したものを
文字コード
と呼ぶ。コード化のその他の例としては,
県コード
,
高校コード
,
商品コード
や,
書籍コード(ISBNコード)
などがある。
英米圏の文字を7ビットで表現した文字コードを
ASCII(アスキー)コード
と呼ぶ(下図)。
このような情報は,当然,メモリ上のビットで表現されることになる(下図)。
0以上の整数の表現の仕方は学習した。それでは,
負の数を含めた整数(符号つき整数,signed integer)
の
表現方法を学習しよう。方法は簡単で,下図のように0以上の整数を表す場合の,
上半分の領域を負の整数の部分
を表現するのに使う
のである。この方法を,
2の補数基数法
と呼ぶ。
なぜ,このようにして負の整数を表すのだろうか。2の補数記数法は以下の様な都合の良い特徴を持っているからである。
つまり,
同じビットパターンを
「0以上の整数(符号なし整数,unsigned integer)」
と扱うか,
「負数を含めた整数(符号付き整数)」
と扱うかで,表現している値が異なってくることになる
。
さらに,
16bit(2バイト)
と,
32bit(4バイト)
で整数を表現した場合を考えてみよう。
2バイトを使用すると,日本語文字を表現することが出来る(下図)。
文字コードだけでなく,改行を表す目印も,オペレーティングシステムによって異なる(下図)。
なお,Windowsで Java プログラムを作る場合はソースプログラムは シフトJISで書かれることになるが,
コンパイルしてクラスファイルになったJavaプログラムの内部では,文字や文字列の文字コードは Unicode となっている。
次に,ビットパターンで
実数(小数点数以下の値がある数)
を表現する方法を簡単に説明する。
まず,
固定小数点数
を紹介する(下図)。この表現方法は,一番左のビットを正負を表すビットとして
使う(一番左のビットが0なら正数,1なら負数)。そして,小数点の場所を定めておく。下図の場合は,
右から3ビット目と4ビット目の間に小数点がある物として考える。
しかし,このように小数点の位置を固定するより,小数点の位置を随時ズラせるようにしておいた方が,柔軟に実数を表現できる。
このように,小数点をずらせるようにした実数の表現方法を,
浮動小数点数(floating point number)
と呼ぶ(下図)。
下図は浮動小数点の表現形式の一例である。
以上のように,コンピュータ上では,ビットの集まりを使って,
・0以上の整数(符号なし整数)
・負数も含めた整数(符号付き整数)
・文字(0以上の整数で表現する)
・実数(浮動小数点数)
などが表現できるわけである。
情報の表現
●基本的な情報の表現に関する資料図を示します。