number)という二つの方法があります。固定小数点とは、小数点の位置と数値(整数部と少数部)の長さが固定なので、小数点の位置情報を数に含む必要がありません。固定小数点は非常にシンプルな方法で、かつてコンピュータの性能がそれほど発達していなかった頃はよく使われていました。この方法だと、表現できる数の範囲と精度はビット数(桁数)によって制限されています。浮動小数点の表現の考え方それに対し、浮動小数点は、幅広い桁数の数値をあつかうことができます。10進数の浮動小数点は、以下のような形式で表現されます。10emを、「仮数部」、eを「指数部」と言います。10は、「基数」と言います。eの値を変えれば、桁の小さな数から大きな数までの非常に幅の広いデータをあつかうことができます。10-2というように表現されます。通常、仮数部の最上位けたが0にならないように指数部と仮数部を調節する操作をします。それにより、仮数部の先頭が「0.000...」と、だらだらと0が続くことを防ぎます。正規化(せいきか)と言います。以上を図にまとめると、以下のよう図のようになります。(図6-1.図6-2.)図6-1.10進数の浮動小数点の考え方1図6-2.10進数の浮動小数点の考え方2通常、コンピュータの中では2進数で表現されますから、浮動小数点をコンピュータ内で扱う場合には、以下のように表現されます。10e10進数との違いは、基数の値が2になっている点にあります。sは符号を表し、0または1が入り、0であれば正の数、1であれば負の数になります。仮数も2進数の小数による表現です。)で定められている正式な方法です。この方式では、先頭ビット(s)は符号ビットで符号を表し、正の数と負の数を表すことができるようになっています。(図6-4.)図6-4.IEEEで定められた浮動小数点32ビットと64ビットの2種類があり、それぞれ表現できる範囲が決まっています。この表現は、C言語では、floatおよびdoubleとして利用されています。メリットとデメリット当然のことながら、浮動小数点にはメリットとデメリットがあります。メリットは、すでに述べたとおり、表現できる数値の幅が大きくなることです。これに対し、デメリットは、桁落ちによる情報の欠落が発生することです。二つの十数値を足す場合、二つの数値の桁の開きが大きい場合、桁そろえをする際に、桁数が小さいほうの数値が欠落、場合によっては0になってしまいます。桁が固定されている固定小数点では、このような問題は発生しません。