原码、补码、反码、移码、变形码分不清?初学者的最全攻略!

声明:笔者仍为在校学生,本文虽经过揣摩,但水平有限,有错误之处恳请批评指正。
文章结构:

1.怎么写各种码? 快餐式直达!
2.各种码的特点及详细内容扩充(更新中)
3.各种码之间有什么关系?(更新中)

第一部分:怎么写各种码? 最快直达!(以八位二进制为例)

整数的各种码表示:(以+ - 35为例)
原码:
(+35)00100011,就是35的二进制数,注意始终要8位,前面补零;
(-35)10100011,最高位放符号位,1表示负。
补码:
(+35)00100011,和原码表示相同
(-35)11011101,+ 35 的原(补)码全部按位取反,最后一位加一。
反码:
(+35)00100011,和原码补码都相同
(-35)11011100,+ 35 的原码全部取反获得。或者补码最低位减去一获得。
移码:
(+35)10100011,补码符号位取反
(-35)01011101,补码符号位取反

纯小数的各种码表示(以0.46875为例):
原码:
(+0.46875)0.0111100,就是转化为二进制的结果。
注意计算机中没有小数点的表示,这里仅仅为了说明小数点的位置。
(-0.46875)1.0111100加上符号位即可。
补码:
(+0.46875)0.0111100,和原码的表示相同。
(-0.46875)1.1000100,采用的方法和整数一样,原码包括符号位全部取反,末位加一。
反码
(+0.46875)0.0111100,和原码相同
(-0.46875)1.1000011,补码最低位减一获得。
移码:
(+0.46875)1.0111100补码符号位取反
(-0.46875)0.1000100补码符号位取反

可见,定点纯小数的各种码写法和定点整数可以说几乎一模一样(在反码的书写上少了一种方法而已)

第二部分:各种码都有什么特点?有没有别的写法?
原码:又称作带符号的绝对值表示,符号位为0表示正数,为1表示负数。数位值就是这个数字真值的绝对值。
2020-3-3
原创文章,有纰漏之处联系修改。
另外可以关注博主的其他文章,一只软件工程在校生的学习历程全记录
持续更新中… …
————————————————————————————————————————————————更新线———————————————

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值