您的位置:首页 > 其它

知识点-原码补码反码移码

2017-03-13 22:44 1121 查看
近日学到了原码补码反码移码这部分,被各种定义,各种转换的口诀什么的弄的也是烦了,所以就在思考能不能用一种简洁的方式将他们讲出来呢?这就是这篇博文的来源了。首先我们需要了解的是原码补码反码的定义,只有这样我们才能够很好地理解他们之间的关系。

原码



补码



反码



这里我们需要知道的一个隐藏的知识是

一串n位的二进制码与其反的和为2^(n+1) - 1。



接下来,对于原码补码与反码之间,定点整数与定点小数都存在如下的转化关系

当真值X>0时

补码反码与原码的表示形式一致

当X<0时

原码转反码:符号位不变,数值位取反

反码转补码:反码+1

原码转补码:符号位不变,从最低位开始数到的第一个1不变,之后开始的所有位取反



移码



移码与补码的关系(无所谓小数整数,负数正数)就是补码的符号位取反就是移码。

举例如下表

定点整数



定点小数



我们注意到以下几点

原码与反码有+0和-0的说法

上限都是2^n-1(n是机器字长)

-2^n只有补码和移码有这样的表示

好了,基本情况就是这样了,欢迎批评指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: