什么是补码?什么是取反?2进制3进制下的对比

使用的示例数据
存储位数:4
示例数字:0101
不考虑符号位:sure

二级制

数字:0101(十进制:5)
模:16=1111+1=0000(10000中的1溢出消失)
补数(补码):模-0101=0000-0101=(1111+1)-0101=(1111-0101)+1=《提示:(1111-0101)为按位的不存在借位的减法》=按位取反+1=《提示:元器件按位与来实现减法(物理上实现2进制减法)》
单个位的取反:1-待取反数字=(当前进制数-1)-待取反数字
补码(即结果):按位取反+1=1010+1=1011(十进制:11)

三进制

数字:0101(十进制:10)
模:81=2222+1=0000(10000中的1溢出消失)
补数(补码):模-0101=0000-0101=(2222+1)-0101=(2222-0101)+1=《提示:(2222-0101)为按位的不存在借位的减法》=按位取反+1=《提示:元器件按位来实现减法(物理上实现3进制减法)》
单个位的取反:2-待取反数字=(当前进制数-1)-待取反数字
补码(即结果):按位取反+1=2121+1=2122(十进制:71)

注:“按位取反”其实应该叫“按位取差”吧

相关参考:
百度百科-补码
补码(为什么按位取反再加一):告诉你一个其实很简单的问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值