二进制小数科学计数法

符号位:0为正,1为负

指数位:exponent bias:阶码=指数+127,即对应-126~127

特殊含义: 00000000和11111111在小数为0时表示0和∞

小数位:最高有效位为1,且仅存储有效数字的小数部分(整数部分恒为1)

对于165.25

首先针对整数位165:

165/2=82…1

82/2=41…0

41/2=20…1

20/2=10…0

10/2=5…0

5/2=2…1

2/2=1…0

1/2=0…1

10100101

再对于小数位.25:进制小数转换成二进制小数采用"乘2取整,顺序排列"法。

用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的整数部分为零,或者整数部分为1,此时0或1为二进制的最后一位。或者达到所要求的精度为止。

0.25*2=0.5…0

0.5*2=1.0…1

01

所以为10100101.01

10100101.01=1.010010101*(10^7)=1.010010101*(2^7)

2=2^1×1+2^0×0

去掉最高位1并扩展为规定的23位:

01001010100000000000000

然后求阶码7:

指数偏移了127,所以表示为7+127=134的二进制,10000110 关于为什么要加上127这个偏移量,1)这是IEEE规定的标准,2)为了保证一个8位的指数为无符号数以简化计算(范围在0~255)

134=10000110

最后得到的单精度浮点数表达式形式为:

0 10000110 0100 1010 1000 0000 0000 000

参考:

(63 封私信 / 49 条消息) 十进制小数如何转换为二进制小数? - 知乎 (zhihu.com)

不明白,为啥7的移码不是10000111_编程语言-CSDN问答

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值