zoukankan      html  css  js  c++  java
  • 关于浮点数存储格式标准

    浮点数存储标准为:IEEE754。

    一、定义:什么是IEEE754

    浮点数在C/C++中对应float和double类型,我们有必要知道浮点数在计算机中实际存储的内容。IEEE754标准中规定float单精度浮点数在机器中表示用 1 位表示数字的符号,用 8 位来表示指数,用23 位来表示尾数,即小数部分。

    对于double双精度浮点数,用 1 位表示符号,用 11 位表示指数,52 位表示尾数,其中指数域称为阶码。

    IEEE754规定:单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127;

    双精度浮点数字长64位,尾数长度52,指数长度11,指数偏移量1023;约定小数点左边隐含有一位,通常这位数是1,所以上述单精度尾数长度实际为24(默认省略小数点左边的1则为23),双精度尾数长度实际为53(默认省略小数点左边的1则问53);

    下面讲述使用IEEE754标准表示浮点数:176.0625表示为单精度浮点数:

    解:1).先将176.0625转换为二进制数小数点前:

    176 / 2 = 88  余数为 0

    88 / 2=44 余数为 0                            

    44 / 2 =22 余数为 0                      

    22 / 2= 11 余数为 0                             

    11 / 2 =5   余数为 1       

    5 / 2=2 余数为 1                            

    2/ 2  =1 余数为 0                                                                            

    1/ 2=0        余数为 1    商为0,结束。                                                                      

    小数点前整数转换为二进制:10110000                                            

    小数点后:小数部分乘以2,取整数部分,直至乘积小数部分为0  

    0.0625 * 2 = 0.125   整数为0                

    0.125 * 2 = 0.25     整数为0            

    0.25* 2 = 0.50       整数为0            

    0.5* 2 = 1.0 整数为1,小数部分为0,

    结束小数点后的小数位转换为二进制:0001     

    故176.0625转换为二进制为:10110000.00012).

    IEEE754约定小数点左边隐含有一位,通常这位数是1,所以10110000.0001=1.01100000001 *  2^7(小数点向左偏移7位);

    IEEE754约定单精度指数偏移量为127,所以176.0625使用IEEE754标准表示时,指数偏移量为 7+127=134 ,即:10000110

    IEEE754约定单精度尾数长度为23,所以176.0625使用IEEE754标准表示时,尾数为:01100000001000000000000176.0625>0,即为整数,所以符号位为0

    由上得出:176.0625使用IEEE754规格化后的表示为:0  10000110 01100000001000000000000

  • 相关阅读:
    1052 Linked List Sorting (25 分)
    1051 Pop Sequence (25 分)
    1050 String Subtraction (20 分)
    1049 Counting Ones (30 分)
    1048 Find Coins (25 分)
    1047 Student List for Course (25 分)
    1046 Shortest Distance (20 分)
    1045 Favorite Color Stripe (30 分)
    1044 Shopping in Mars (25 分)
    1055 The World's Richest (25 分)
  • 原文地址:https://www.cnblogs.com/litifeng/p/10462679.html
Copyright © 2011-2022 走看看