浮点数转化为二进制

1.   

         符号位          阶码            尾数         长度


 

    float           1                                    8(2^7-1 = 127)        23                             32

          double        1                                    11(2^10-1 = 1023)  52                             64

 

 2.

      将一个十进制的整数部分和小数部分分别处理.然后将小数点前后两部分连起来再取掉最前面的1,这就成了尾数.

  这里需要说明的是:

     对于Float型:

     a: 从转换成的二进制数(包括整数部分和小数部分)的总位数为24位(不包含小数点占的位置,不足部分后面补0);

     b: 把小数点左移的位数x加上偏移量y = x + 127;然后将y再转化为二进制,这时的二进制数就是阶码;

     c: 对于正数符号位(在第一位,也即在最前面添一个位数表示符号位)为0, 负数为1

               d: 然后把符号位,阶码和尾数连起来.

     e: 注意:尾数的第一位总是1,所以规定不儲存这一位的1,只取尾数后面的23位;


     

        对于Double型:

     a: 从转换成的二进制数(包括整数部分和小数部分)的总位数为53位(不包含小数点占的位置,不足部分后面补0);

     b: 把小数点左移(或右移)的位数x(或-x)加上偏移量y = x + 1023;然后将y再转化为二进制,这时的二进制数就是阶码;

     c: 对于正数符号位(在第一位,也即在最前面添一个位数表示符号位)为0, 负数为1

               d: 然后把符号位,阶码和尾数连起来.

     e: 注意:尾数的第一位总是1,所以规定不儲存这一位的1,只取尾数后面的52位;

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值