是已知的C/C++编译器都是按照IEEE(国际电子电器工程师协会)制定的IEEE浮点数表示法来进行运算的。这种结构是一种科学表示法,用符号(+或-)、指数和尾数来表示,底数被确定为2。所以在IEEE浮点数表示法里,一个浮点数为尾数乘以2的指数次方再加上符号。
扩展资料:
格式
(EfE1E2E3E4E5E6E7MfM1M2M3M4M5M6M7)
其中Ef到E7这部分叫做阶码,用移码表示,Ef是阶符,Mf到M7称作尾数,用补码表示,Mf为数符,小数点的位置在Mf后面对于浮点数的表示,字长是由硬件决定,如字长可以是32位,其中阶码8位,含一位阶符,则阶码的表示范围为-128到127,尾数为23位。
例如,原数为-1101.110101000100...0如果用上述32位表示,-1101.110101000100...0=-0.1101110101000100...0*2^4,4=0000100,其移码=2^7+0000100=10000100
Mf为1,M1后为1101110101000100...,不足23位后的空位置用0补够,则其浮点数表示为10000100,1.1101110101000100...0。