資料シート●[三月劇場]

数の表現
実数




 実数をビット列で表現する手順は少しややこしいので、感じだけ説明する。

・何桁のビット列を使うか決める。ここでは16桁のビット列を使うことにする(実際には32桁とか64桁のような長いビット列を使う)。これをさらに1+10(全体の3/4ぐらい)+1+4(同じく1/4ぐらい)のように四つに分けておく。
・どんな数でも、何回か繰り返して2倍すると、前に決めた桁数の3/4ぐらいの桁のビット列でぎりぎり表現できるぐらいの大きさ(10桁とすると1024ぐらい)の数になる。もとの数(たとえば-0.75)からこのようにして作った数(-768 = -0.75×210)を仮数といい、仮数をもとの数に戻すのに必要な2倍する回数を指数(-10。小さくするために逆に1/2倍するのを繰り返さなければならないから負の数として数える)という。
・仮数(-768)と指数(-10)の正負のそれぞれを、前によけておいた二つの1桁のビットを使って表わす(正なら○:負なら×)。これらを仮数符号ビット(ここでは×)および指数符号ビット(たまたま同じく×)という
・仮数(-768))と指数(-10)のそれぞれに対して、まだ使っていない3/4のビット列と1/4のビット列のそれぞれを使って、絶対値(それぞれ768と10)を表わすビット列を作る。これらを仮数絶対値ビット列(ここでは○○××××××××)および指数絶対値ビット列(ここでは○×○×)という
・仮数に端数が残っていたら、切り捨てて自然な整数にしてからビット列を作る
・これらを順に並べて(たとえば16桁の)ビット列を作る(ここでは×-○○××××××××-×-○×○×ができる。"-"は実際にはつかない)。これで完了

 この方法を浮動小数点(floating point)法という。大きさを調整するのに2倍ではなくて10倍するやり方もある。
 例の場合はうまく端数が消えたけれど、ほとんどの数では端数が残り、それを切り捨てなければならない。つまり、浮動小数点法ではもとの数の下の桁は正しく表現されていない。
 浮動小数点法は、逆に1億2千万のような大きい数を16桁ぐらいの短いビット列でかなり正確に表わすのにも使える。


細かすぎる注釈

 数学の実数には、小数で表わそうとすると端数が無限に続いてしまうような数が含まれる(それどころか、そんな数の方がずっと多いことが知られている)。たとえば1/3、r2(=2の平方根)、πなどの実数はそんな数だ。
 でも、ここで紹介する方法では、そういう数は正確には表現できない(表現できるようなほかのもっと高度な方法はあるが)。だから、これを実数というのはちょっと嫌な気もする。



起点のページへ

[三月劇場]


Copyleft(C) 1996-2001, by Studio-ID(ISIHARA WATARU). All rights reserved.
このページに自由にリンクを張ってください

このページへの助言や感想や新しい情報を歓迎します
下記まで連絡をいただければ幸いです
isihara@tokiwa.ac.jp


最新更新
01-11-12

このページはインフォネットのウェブサーバに載せていただいて発信しています