next up previous
Next: 2 予備的な知識 Up: 計算機における数の表現 Previous: 計算機における数の表現

1 はじめに

計算機の中では、数をどのように表現しているのか?
「実数体系という名称はあまり適切とは思えないが、微積分をはじめ高 等な解析学の基盤をなしているのがこの実数体系である。そのために、すべて の実数を現実の有限な計算機で表現することが不可能なことをつい忘れがちに なる。しかし、実数体系が理論的解析をやさしくしている部分は、実際の計算 では逆にそれ無しでやってゆかなければならないのであ る。」 -- Forsythe (森 正武 訳)

ここで FORTRAN や C 等のプログラミング言語であらかじめ用意されている データ型について列挙してみよう。

FORTRAN
intger, real, real*8, real*16, complex, complex*16, complex*32
C
short, unsigned short, int, unsigned int, float, double, long double
色々あるが、いずれもあらかじめ定まった量の記憶域を用いて数を表現するこ とに注意しよう。従って有限個の数しか表現することはできない

これらのデータ型は大きく二つに分類することが出来る。整数のみを表現で きるものと、それ以外のもの -- 実数(あるいは複素数)を表現出来る -- ものである。

(多くの Lisp や数式処理言語では、bignum とか「無限多倍長」と呼ばれる データ型があり、これは数を表すために用いる記憶域の大きさが動的に変化す る。しかし、この場合も表す数の個数は有限個であることは変わらないし、ま た数表現の基本的な考え方は後述のものと同じである。)


next up previous
Next: 2 予備的な知識 Up: 計算機における数の表現 Previous: 計算機における数の表現
桂田 祐史
2012-05-28