什么是IEEE754标准:
IEEE是浮点数算术标准(IEEE 754)是最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。
它规定了计算机程序设计环境中的二进制和十进制的浮点数的交换、算术格式以及方法。
下面用三分钟带你掌握IEEE754标准:
一. 理论
IEEE754标准从逻辑上采用三元组{S,E,M}表示一个浮点数N(单精度浮点数float为例)
浮点数表示方法
将单精度浮点数转化为2进制数(保留24位有效数,0舍1入)
将小数点左移e位至第一位1之后
2进制数乘以2的e次方
判断符号位S(正数为0,负数为1)
计算阶码为127 e = 0111 1111 e = E
取尾数M,将第二部最高位1舍去,剩下23位有效位
拼接,S E M 即为所求
将理论看完理解后1分钟过去了,来个实例分析一下。
二. 样例
【1111011.01110100101111001】(2) ->24位
【1.11101101110100101111001】(2) 移动小数点(e = 6)
【1.11101101110100101111001】* 2 ^ 6
正数S = 0
阶码 E = 0111 1111 0000 0110 = 10000101
尾数 M = 11101101110100101111001
拼接:S E M = 0 10000101 11101101110100101111001(2)= 42F6E979(H)
计算出结果后,已经快两分钟了,快打开编译器调试一下吧~
三. 验证
Debug查看
d = 123.456001 为什么? 因为浮点数是有误差的,还记得0舍1入吗? 到此分析结束。
样例是单精度浮点型,那么双精度浮点型呢?
好了三分钟到了,自己动手实践验证一下吧,原理和单精度浮点型是类似的哦~
如有错误欢迎指正,谢谢。
,