C言語 floatの内部表現
LSIC 試食版にて、C言語を勉強中。LSICのマニュアルに浮動小数点(floatやらdoubleやら)の内部表現の例がありましたが、ぜんぜんわからなかった。浮動小数点って、2進に直して10のn乗の指数を記録しているだけかと思ったら、ぜんぜん違います。知らんかった。参照IEEE754で、規定されているようです。IEEE754@Wiki小数点以下の2進化の方法もあるようです(知らんかった。)正で1未満の数簡単にまとめ。正負の符号がつく。指数部分は2のn乗のnに127を足したもの。仮数部は1.xxxの1を除いた小数点以下が書かれている。1なら、符号は正=0指数は0(1.0x2^0)仮数部も0(1.0000=>0)0 01111111 00...000011 1111 1000 ....... 0000 3 F 8 0 0 0 0 03F800000でマニュアルどおりです。 世界でいちばん簡単なC言語のe本