知识点-原码补码反码移码
2017-03-13 22:44
1121 查看
近日学到了原码补码反码移码这部分,被各种定义,各种转换的口诀什么的弄的也是烦了,所以就在思考能不能用一种简洁的方式将他们讲出来呢?这就是这篇博文的来源了。首先我们需要了解的是原码补码反码的定义,只有这样我们才能够很好地理解他们之间的关系。
![](https://img-blog.csdn.net/20170313220338138?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170313220437801?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170313220506623?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这里我们需要知道的一个隐藏的知识是
一串n位的二进制码与其反的和为2^(n+1) - 1。
![](https://img-blog.csdn.net/20170313221051251?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
接下来,对于原码补码与反码之间,定点整数与定点小数都存在如下的转化关系
当真值X>0时
补码反码与原码的表示形式一致
当X<0时
原码转反码:符号位不变,数值位取反
反码转补码:反码+1
原码转补码:符号位不变,从最低位开始数到的第一个1不变,之后开始的所有位取反
![](https://img-blog.csdn.net/20170313222811850?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170313223035618?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
移码与补码的关系(无所谓小数整数,负数正数)就是补码的符号位取反就是移码。
举例如下表
定点整数
![](https://img-blog.csdn.net/20170313223242496?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
定点小数
![](https://img-blog.csdn.net/20170313224345027?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzE4MDU4MjE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
我们注意到以下几点
原码与反码有+0和-0的说法
上限都是2^n-1(n是机器字长)
-2^n只有补码和移码有这样的表示
好了,基本情况就是这样了,欢迎批评指正。
原码
补码
反码
这里我们需要知道的一个隐藏的知识是
一串n位的二进制码与其反的和为2^(n+1) - 1。
接下来,对于原码补码与反码之间,定点整数与定点小数都存在如下的转化关系
当真值X>0时
补码反码与原码的表示形式一致
当X<0时
原码转反码:符号位不变,数值位取反
反码转补码:反码+1
原码转补码:符号位不变,从最低位开始数到的第一个1不变,之后开始的所有位取反
移码
移码与补码的关系(无所谓小数整数,负数正数)就是补码的符号位取反就是移码。
举例如下表
定点整数
定点小数
我们注意到以下几点
原码与反码有+0和-0的说法
上限都是2^n-1(n是机器字长)
-2^n只有补码和移码有这样的表示
好了,基本情况就是这样了,欢迎批评指正。
相关文章推荐
- 原码 反码 补码 移码
- 原码、反码、补码和移码
- 原码、反码、补码、移码
- 原码、反码、补码、移码
- 数的表示与运算:原码、反码、补码和移码
- 【软考6】码制:原码、反码、补码、移码
- 原码、反码、补码,移码表示法
- 原码,反码,补码,移码
- 原码、反码、补码及移码的作用与区别
- C语言基础 原码 反码 补码 移码简介
- 【软考6】码制:原码、反码、补码、移码
- 原码、反码、补码和移码(from 刘水镜)
- 原码,反码,补码,移码的关系
- 原码,反码,补码,移码
- 原码反码补码移码的理解及C语言验证
- 【总结】正确理解原码、移码、反码与补码
- 原码 反码 补码 移码
- java 自我知识总结(一) 原码 反码 补码 移码
- 原码 反码 补码 移码
- 原码 反码 补码 移码的关系(精简总结)