纯小数补码学习

纯小数补码学习纯小数的原码 补码 反码表示 纯小数 首先了解一下什么是纯小数 机器数有无符号和带符号之分 无符号数表示正数 在机器数中没有符号位 对于无符号数 若约定小数点的位置在机器数的最低位之后 则是纯整数 若约定小数点的位置在机器数的最高位之前 则是纯小数 对于带符号数

大家好,我是讯享网,很高兴认识大家。

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

纯小数

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

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

纯小数的进制表示
原码 实际值
0000 0
0100 1/2
0010 1/4
0001 1/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

原码 实际值 补码
0001 1/8 0001
0010 1/4 0010
1111 -7/8 1001
1101 -5/8 1011
小讯
上一篇 2025-03-21 12:25
下一篇 2025-01-16 17:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/39527.html