IEEE 754 浮点 二进制 转换

IEEE 754 浮点 二进制 转换
定点数
 
    定点数就是指小数点的位置固定不变,小数点的位置通常有两种约定方式:定点整数(纯整数,小数点在最低有效值位之后 比如:100.)和定点小数(纯小数,小数点在最高有效数值位之前 比如:.101)。
 
 
浮点数
    浮点数是小数点位置不因定的数,它能表示更大范围。在浮点表示法中,阶码通常为带符号的纯整数,尾数为带符号的纯小数,浮点灵敏的表示格式如下:
 
        阶符 | 阶码 | 数符 | 尾数 
 
    浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度由尾数决定。为了充分利用尾数来表示更多的有效数字,通常采用规格化浮点数。规格化浮就是将尾数的绝对值限定在区间[0.5 , 1]。当尾数用补码表时,需要注意如下问题。
 
    1. 若尾数 M >= 0 ,则其规格化的尾数形式为 M=0.1xxxx……x, 其中 x 可为 0 或 1。即尾数限定在[0.5 , 1]之间。
    2. 若尾数 M < 0 ,则其规格化的尾数形式为 M=1.0xxxx……x,其中 x 可为 0 或 1。即尾数限定在[-1,-0.5]之间。
    3. 工业标准IEEE 754
       
        S | P | M
       
    其中,S为数的符号位,为0时表示正数,为1时表示负数;P为阶码,通常用移码表示;M为尾数,用原码表示。
   
    目前,计算机中主要使用三种形式的IEEE 754 浮点数,在IEEE 754 标准中,约定小数点左边隐含有一位,通常这位数就是1。
   
    参数                单精度浮点数        双精度浮点数        扩充精度浮点数
    浮点数字长        32                64                80
    尾数长度            23                52                64
    符号位长度        1                1                1
    阶码长度            8                11                15
    指数偏移量        +127            +1023            +16383
    可表示的实数范围    10^-38~10^38    10^-308~10^308    10^-4932~10^4932
   
    例如:
   
    十进制的 123.456 用IEEE754 单精度浮点二进制表示。
   
    首先分别转换整数跟小数部分
   
    整数部分:
        十进制 123 = 二进制 1111011
    小数部分:
        十进制 456 = 二进制 01110100101111000 110
       
    123.456 转 IEEE754 单精度浮点数二进制为:
      符号位       阶码                尾数
        0    10000101    11101101110100101111000
       
        说明:
            符号位
                因为此数为正数所以为0。
            阶码
                IEEE 754 标准 把小数点移至最高有效位后,即指数为 6 ,再加上 指数偏移量 127 (等于 133) 那么阶码(移码)的二进制为 10000101 。
            尾数
                单精度浮点数只保留23位尾数即多余的尾数去掉,即原码 11101101110100101111000
           
       
    123.456 转 IEEE754 单精度浮点数二进制为:
        0 10000101 11101101110100101111000
       
    IEEE 754 浮点数 十进制转二进制 WEB工具 URL: http://babbage.cs.qc.edu/IEEE-754/Decimal.html
       

你可能感兴趣的:(IEEE 754 浮点 二进制 转换)