什么是IEEE754标准:

  1. IEEE是浮点数算术标准(IEEE 754)是最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。

  2. 它规定了计算机程序设计环境中的二进制和十进制的浮点数的交换、算术格式以及方法。

下面用三分钟带你掌握IEEE754标准:

一. 理论

IEEE754标准从逻辑上采用三元组{S,E,M}表示一个浮点数N(单精度浮点数float为例)

ieee80.4是什么标准(但你知道IEEE754标准吗)(1)

浮点数表示方法

  1. 将单精度浮点数转化为2进制数(保留24位有效数,0舍1入)

  2. 将小数点左移e位至第一位1之后

  3. 2进制数乘以2的e次方

  4. 判断符号位S(正数为0,负数为1)

  5. 计算阶码为127 e = 0111 1111 e = E

  6. 取尾数M,将第二部最高位1舍去,剩下23位有效位

  7. 拼接,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)

  • 计算出结果后,已经快两分钟了,快打开编译器调试一下吧~


    三. 验证

    ieee80.4是什么标准(但你知道IEEE754标准吗)(2)

    Debug查看

    d = 123.456001 为什么? 因为浮点数是有误差的,还记得0舍1入吗? 到此分析结束。

    样例是单精度浮点型,那么双精度浮点型呢?

    好了三分钟到了,自己动手实践验证一下吧,原理和单精度浮点型是类似的哦~

    ieee80.4是什么标准(但你知道IEEE754标准吗)(3)

    如有错误欢迎指正,谢谢。

    ,