有小数点的补码怎么算_原码、补码、反码、移码、变形补码分不清?初学者的最全攻略!...

声明:笔者仍为在校学生,有错误之处恳请批评指正。

文章结构:

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表示负数。数位值就是这个数字真值的绝对值。

(可以关注笔者的其他文章~软件工程程序员的学习生活全记录,本文也将持续更新~)

不加糖的鸡蛋卷:新手程序员是怎么学习的? 大学生活、学习以及未来实习工作全记录!持续更新中​zhuanlan.zhihu.com
  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值