补码转换成原码

来源:百度知道 编辑:UC知道 时间:2024/07/12 19:46:08
如题.
这是计算机导论课上的内容.
可是还是弄不太懂.
各位能否帮我找出些相关资料来吗?

上面的回答有一部分是错误的。
正数:原码=反码=补码;负数二进制符号位不变,其余取反加1 ,如:
补码:1101001
--------------------------------------------------------
如果也用这个例子,应该是:
原码:
1010110 + 1 =1010111

或者也可以用符号位不变,其余减1取反

负数 补码减一求反=原码
正数 补码=原码

分两种情况,以八位原码转换为例:
正数(符号位为0的数)补码与原码相同.
负数(符号位为1的数)变为补码时符号位不变,其余各项取反,最后在末尾+1
例如:原码01100110,补码为:01100110
原码11100110,先变反码:10011001,再加1变为补码:10011010
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
特性
1、一个负整数(或原码)与其补数(或补码)相加,和为模。
2、对一个整数的补码再求补码,等于该整数自身。
3、补码的正零与负零表示方法相同。

正数:原码=反码=补码;负数二进制取反加1 ,如:
补码:1101001
--------------------
原码:0010110 + 1 =0010111

二进制 加一再取反