纯小数补码学习

纯小数的原码、补码、反码表示

纯小数

​ 首先了解一下什么是纯小数:机器数有无符号和带符号之分。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其余为则表示数值。

​ 通俗的说,纯小数就是只存在小数点后的值,小数点前为0,例如:0.1,0.5,0.3,0.8等。

纯小数的进制表示
原码实际值
00000
01001/2
00101/4
00011/8
1001-1/8
1010-1/4
如何理解上面的纯小数表示呢?
  • 从左往右数第一位为符号位(0:表示正数;1:表示负数)
  • 接着将小数转化为分数(方便计算)例如:0.5 可以表示为1/2
  • 1/2 我们看分母位,这里的分母为2 ,2的1次方为2,所以值占1
  • 再看分子,分子为1,对于二进制,每一位都是 2 的次方,每一位就可以表示为1,2,4,8 …
  • 分子1的二进制可表示为1 ,再补全符号位,纯小数1/2 就可以表示为 01(补全后面两位就为 0100 记住这里的第一位始终是符号位

同样的,例如 1/8 ,是正数,所以第一位符号位是 0 ,分母为 8 ,2的3 次方为8,所以值占3位,分子为1,二进制就是 001,加上符号位0,最后的结果就是0001

对于负数纯小数,计算方式完全一样,唯一改变的就是将第一位的符号位由 0 改为1

纯小数的补码表示:

1、正数纯小数补码就是其本身

2、负数纯小数补码表示:先将负数纯小数加1 得到一个值,将这个值按照上面纯小数表示方法计算即可

例1:-1/8

  • -1/8 加上1等于7/8,7/8的分子为7,分母为8
  • 先看分母,分母为8,二进制里2的3次方为8,这个值就占3位,再加上符号位1位,共占4
  • 再看分子,分子为77的二进制为111(占3位)
  • 加上符号位的值1,最后的结果就是1111

例2:-3/4

  • -3/4加上1等于1/4,1/4的分子为1,分母为4
  • 先看分母,分母为4,二进制里2的2次方为4,这个值就占2位,再加上符号位1位,共占3
  • 再看分子,分子为11的二进制为01(占2位)
  • 加上符号位的值1,最后的结果就是101(为了好看,补全四位,最后位补0,即:1010

原码实际值补码
00011/80001
00101/40010
1111-7/81001
1101-5/81011
  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值