十进制数的二进制表示法(原码、反码、补码、移码)

编码

  • 十进制数的二进制表示法
    • 原码
    • 反码
    • 补码
    • 移码

当然,你得了解进制转换

真值

很简单,就是原来的值的意思

原码

假如一个十进制数是 10 10 10
则它的二进制是 1010 1010 1010

位置1234
二进制 1 1 1 0 0 0 1 1 1 0 0 0

你有没有发现少了一点东西?
符号位
改进一下 符号位正数为 0 0 0 负数为 1 1 1

位置符号位1234
二进制 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0

OK 这就是原码

十进制二进制原码
3 3 3 011 011 011
2 2 2 010 010 010
1 1 1 001 001 001
0 0 0 000 000 000 100 100 100
− 1 -1 1 101 101 101
− 2 -2 2 110 110 110
− 3 -3 3 111 111 111
反码

顾名思义,就是把原码除符号位外把每一位求反(建议你学一下位运算)
当然,只有在负数的时候才能这样做
当真值是正数是,原码就是反码
比如
原码 1001 1001 1001->反码 1110 1110 1110
原码 0001 0001 0001->反码 0001 0001 0001
有什么好处?
试一下二进制加法
十进制 ( − 2 ) + 2 (-2)+2 (2)+2
二进制原码 110 + 010 110+010 110+010
二进制反码 101 + 010 101+010 101+010

+ 1 1 1 0 0 0 1 1 1
+ 0 0 0 1 1 1 0 0 0
= 1 1 1 1 1 1 1 1 1

原码是不能直接进行加法的
反码解决了这个问题
但是 在反码 0 0 0有两种表示方法 000 000 000 111 111 111

十进制二进制反码
3 3 3 011 011 011
2 2 2 010 010 010
1 1 1 001 001 001
0 0 0 000 000 000 111 111 111
− 1 -1 1 110 110 110
− 2 -2 2 101 101 101
− 3 -3 3 100 100 100
补码

就是在反码的基础上 + 1 +1 +1 -> 只有真值是负数时才能这么做
有什么好处?

  1. 0 0 0只有一种表示方法 即 000 000 000
  2. 范围更大 100 100 100代表 − 4 -4 4
十进制二进制补码
3 3 3 011 011 011
2 2 2 010 010 010
1 1 1 001 001 001
0 0 0 000 000 000
− 1 -1 1 111 111 111
− 2 -2 2 110 110 110
− 3 -3 3 101 101 101
− 4 -4 4 100 100 100
移码

不常用,原理和补码一样,就是在补码的基础上
把符号位取反
有什么好处?
0 0 0只有一种表示方法 即 100 100 100
很简单,对不对

总结
十进制二进制原码二进制反码二进制补码
3 3 3 011 011 011 011 011 011 011 011 011
2 2 2 010 010 010 010 010 010 010 010 010
1 1 1 001 001 001 001 001 001 001 001 001
0 0 0 000 000 000 100 100 100 000 000 000 111 111 111 000 000 000
− 1 -1 1 101 101 101 110 110 110 111 111 111
− 2 -2 2 110 110 110 101 101 101 110 110 110
− 3 -3 3 111 111 111 100 100 100 101 101 101
− 4 -4 4 100 100 100

所以,补码最常见

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值