zoukankan      html  css  js  c++  java
  • IEEE-754浮点数标准

    定义

      IEEE754标准规定小数的表示形式为V=(-1)S*M*2E

      S为符号位

      M为尾数

      E为阶码

      一个单独的符号位编码S,符号位为0,表示正数,符号位为1表示负数。

      k位的阶码字段exp=ek-1.....e 编码阶码E。

      n位小数字段frac=fn-1......f0 编码尾数M,但是编码出来的值也依赖于阶码字段的值是否等于0。

    俩种浮点数

      IEEE754定义了俩种浮点数,分为32位单精度浮点数,64位双精度浮点数。

      32位精度浮点数使用 1 位表示符号位,8位表示阶码,23位表示尾数。

      64位精度浮点数使用 1 位表示符号位,11位表示阶码,52位表示尾数。

    4种表现形式

      IEEE754将小数表示为4种形式,规格化小数,非规格化小数,无穷,NAN,以下使用单精度来说明

    规格化小数 s 非0 非 255 f
    非规格化小数 s 0 f
    无穷 s 11111111 0
    NAN s 11111111 f

    具体表示

      IEEE754 定义的小数表示为 V=(-1)S*M*2E   只要计算出M和E即可。

      规格化小数

        阶码计算方式:E=e-Bias,e=ek-1.....e0  ,Bias=2k-1 -1。

        小数计算方式:小数字段等于0.fn-1......f0,尾数M=1+f,即尾数M默认以1开始。

      非规格化小数

        阶码计算方式:E=1-Bias,e=0,Bias=2k-1 -1。

        小数计算方式:小数字段等于0.fn-1......f0。

      特殊值

        阶码全为1的是特殊值,当小数域全0时是无穷,s=1,表示负无穷,s=0表示正无穷。

        阶码全为1,小数域不是全0时,表示NAN,即非数字,比如 无穷 - 无穷,根号负数。

        以下使用8位表示浮点数。S=1,K=4,M=3,Bias=2k-1-1=7

    描述 位表示           指数
    e E 2E
                          小数
    f M
                                       值   
    2E x M       V   十进制

    0

    最小的非规格化数

    最大非规格化数

    0 0000 000

    0 0000 001

    0 0000 010

    0 0000 011

    .......

    0 0000 111   

                       0         -6       1/64

                       0         -6       1/64

                       0         -6       1/64

                       0         -6       1/64

                       0   -6       1/64

             0/8        0/8

             1/8        1/8

             2/8        2/8

             3/8        3/8

             7/8        7/8

                           0/512        0            0

                           1/512        1/512     0.001953 

                           2/512        1/256     0.003906

                           3/512        3/512     0.005859

                           7/512         7/512    0.013672

    最小的规格化数

    0 0001 000

    0 0001 001

    ....

    0 0110 110

    0 0110 111

    0 0111 000

    0 0111 001

    0 0111 010

    .......

    0 1110 110

                       1         -6       1/64

            1   -6    1/64

            6   -1    1/2

            6   -1    1/2

            7    0    1

            7    0    1

            7    0    1

           14     7    128

             0/8         1/8

         1/8    9/8

        6/8     14/8  

        7/8   15/8 

        0      8/8

        1/8     9/8

        2/8   10/8 

        6/8   14/8

                             8/512        8/512  0.015625    

                9/512     9/512   0.017578

             448/512    448/512  0.875  

             480/512  480/512  0.9375

             512/512  512/512  1

             576/512  576/512  1.125

             640/512  640/512  1.25

                      224    224    224      

    最大规格化数

    0 1110 111        14   7   128     7/8   15/8          240    240    240 

    无穷大

    0 1111 000           

      

  • 相关阅读:
    软件工程--团队作业2
    软件工程——团队作业1
    软件工程第二次作业——四则运算结对编程3.0版本(最终版本)
    软件工程第一次作业补充
    软件工程第一次作业
    实验一
    Qt-关于QTreeView的一些设置
    Qt-QTreeView绘制单元格
    NX二次开发-获取集成环境下打开的part名
    NX二次开发-NX是否处于集成环境下
  • 原文地址:https://www.cnblogs.com/shuiyonglewodezzzzz/p/11062536.html
Copyright © 2011-2022 走看看