计算机中的 原码和补码怎么求 他们之间怎么计算?

如题所述

  换算根据他们各自的定义进行。所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
例如:
(1) 原码:在数值前直接加一符号位的表示法。
例如: 符号位 数值位
[+7]原= 0 0000111 B
[-7]原= 1 0000111 B
注意:a. 数0的原码有两种形式:
定点小数表示方法
[+0]原=00000000B [-0]原=10000000B
b. 8位二进制原码的表示范围:-127~+127
换算:
[+7]反= 0 1111000 B
[-7]反= 1 1111000 B
[+7]补= 0 0000111 B 等于 [+7]原
[-7]补= 1 1111001 B 等于 [-7]反+ 1
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-19
原码就是把数字转化成二进制的数 但是最高位用来表示符号,给你举个例子:
3转化成二进制就是011 所以它的原码就是0000 0011
-3的原码就是1000 0011
正数的补码为自身,对于负数来说,需要将补码转换成原码。
转换的过程分2步:
1。要将这个2进制数所有位反转。
2。第二步是在它的末尾加1追问

什么叫溢出?怎么计算溢出?

第2个回答  2013-08-19
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。

例如,[X1]=+1010110

[X2]= 一1001010

[X1]原=01010110

[X1]补=01010110

即 [X1]原=[X1]补=01010110

[X2] 原= 11001010

[X2] 补=10110101+1=10110110追问

X2原码怎么得到的?

追答

X2的第一位是1,说明它是负数,只需要将它的除了第一位的每一位取反再加一就得到补码了。

追问

我知道,我是问你 原 码!

追答

原码必须已知。如果他都不知道,请问有什么意义?

追问

[X2]= 一1001010

知道这个求不出原码吗?

追答

肯定可以啊,就是相反的过程,可以看出这个数为负数,因此现在先把1001010减去1,再将除第一位以外的每一位取反,就得到原码为1110110;
同样的如果为正数的话,就不愿转换了,因为负数的原码和补码相同。

追问

你讲话怎么语无伦次的?

1.上边一个错误是 末位 你说成 未位

2.追问两次你没明白我意思

3. 最后一个回答 是不用转换还是不愿转换?负数的原码和补码相同 还是 正数?

做人须谨慎 你回答这种科学问题 更不能草率了

追答

其实这明显是打错了,只要不傻都可以看出来。另外我想说的是,这种问题最好不要轻易问出口,你会被鄙视的,虽然别人不会说出来、

追问

你要想要分,直接说就可以了,这样真不好

末 和 未 完全是两种发音 你怎么会打错

第3个回答  2013-08-19
原码,用处不大。
特别是负数的原码,除了用来求补码之外,基本就没有用了。

补码,有用。
计算机里面,表示负数,基本上,都是用补码。

参考:

http://zhidao.baidu.com/question/513374479.html本回答被提问者采纳
相似回答