根据国际IEEE 754标准,任意一个浮点数V可以表示为一下形式:
(-1)^ S * M * 2 ^ E(其中的^指的是次方,而不是c语言中的“按位异或”)
(-1)^ S 表示符号位,当S等于0时,V为正数;当S等于1时,V为负数
M表示有效数字,大于等于1,小于2
2 ^ E表示指数位
例:十进制浮点数5.5表示为二进制为101.1,然后以上面的形式表示为(-1)^ 0 * 1.011 * 2 ^ 2
二进制表现形式原因:
101在二进制中表示5,因此整数部分为101。小数部分则比较复杂,通常采用“乘2取整,顺序排列法”。即将一个浮点数的小数部分拿出来与2相乘,得出的值的整数部分就是二进制的值,不断得出的值的小数部分乘2,直到这个小数与2相乘后的小数部分变为0或者达到需要的精度为止。如5.25,将0.25取出乘2后得到0.50,取出整数0,然后再将0.50乘2得到1.0,取出1,此时小数部分为0结束,因此5.25的二进制表示为101.01。由此可知5.5的二进制应该表示为101.1。
该形式表示原因:
首先要了解因为是二进制,因此是“遇2进位加1”。
首先5.5是正数,因此S为0,(-1)^ S便为(-1)^ 0。因为标准规定M是大于等于1,小于2的,因此要将得到的二进制左移直至小数点左边只有一个数,因此M变为1.011。最后,因为从101.1变为1.011,小数点移动2位&#x