きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

浮動小数点数を実数と表現することについて

実数という言葉の由来だけでも奥が深い。


C言語(JISX3010)ではこういう定義のようです。
「整数型および実浮動小数点型を総称して実数型と呼ぶ。」


浮動小数点型って何だ?
「実浮動小数点型は、float,double,及びlong doubleの3種類とする。」


ちなみに浮動小数点型って何だ?
「実浮動小数点型及び複素数型を総称して浮動小数点型と呼ぶ。」
うげっ、マジで?(複素数含むのかよ)


整数型って何だ?
「型char、符号付き整数型、符号無し整数型、及び列挙型を総称して整数型と呼ぶ。」


CODASYL COBOLの誕生は1960年。
CODASYL COBOL浮動小数点数が表れたのはCOBOL-81からのようだ。(wikipedia)
ANSI COBOLは1974年あたり誕生かな。
Cの誕生は1972年。
IEEE754は1985年。



ちなみにJDBCにREALというデータ型が登場する。
SQL92で出来てたはず。
REALってのはJavaではfloatだったはず。
DB2なんかではREALというデータ型が用意されています。
ちなみにJavaの誕生は1996年だ。
つまりJavaが出来る前にREALはあったことになる。


IEEE754的立場で言うと、実数とは無限の集合であり、コンピュータで表現しきれることはない。
C言語での意味と、学問的な意味は明らかに違うのだ。