补码是对它的原码(除符号位外)各位取反,并在未位加1?

不要抄书!!!!!!!!!!!!!为什么补码是对它的原码各位取反,并在末位加1?... 不要抄书!!!!!!!!!!!!!
为什么补码是对它的原码各位取反,并在末位加1?
展开
 我来答
zhaominggui
2007-08-27
知道答主
回答量:48
采纳率:0%
帮助的人:0
展开全部
计算机中的数和数的符号都是用二进制表示的,这样的数称为机器数(原,补,反)
一般用最高有效位来表示数的符号
@@@@@@@@ 正数用0表示 @@@@@@@@@
@@@@@@@@ 负数用1表示 @@@@@@@@@
机器数可用不同的码制来表示,常用的有原码、补码和反码表示法。
机器数的组成(8或16)以后会
#########################################################################################
原码表示:符号 + 绝对值
n=8bit(机器字长n是指参与运算的数的基本位数,标志着计算精度,一般是字节的整数倍,有8位、16位、32位等)
[+3] = 0 000 0011 =03H
[-3] = 1 000 0011 =83H
#########################################################################################
反码表示:正数的反码同原码,负数的反码数值位与原码相反
n=8bit
[+5] = 0 000 0101 =05H
[-5] = 1 111 1010 =FAH
#########################################################################################
补码表示:多数机器的整数都采用补码表示法。
正数的补码:与原码表示相同
[+1] = 0000 0001 =01H
负数的补码:1)写正数补码
2)按位求反
3)末尾加一

例: 机器字长为8位(n=8bit) 求-46的补码
1)+ 46的补码表示为: 0010 1110
2)取反: 1101 0001
3)末位加一 1101 0010
所以,[-46]补码 = D2H

补码的简单运算:加法,减法
比如:
80 0101 0000
+ (-46) + 1101 0010
————— ——————
34 0010 0010
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
补充原码、反码、补码的知识
古人说得好:“温故而知新”,可惜现在都忙于“知新”,没有太多的时间去回顾原来的知识了。直到今天,遇到了实际问题,才突然感觉到原来很多东西在记忆中已经非常模糊,记不清了。

“温故”系列主要是以网友的文章、观点为主,也就是说多数将会是转贴文章,因为这些基础知识总会得到专家关注的,而且专家的解释也会比我清楚得多。

原码、反码和补码是计算机运算的基础,这篇“闲扯原码、反码、补码”就说的比较清楚。

本人大致总结一下:

1、在计算机系统中,数值一律用补码来表示(存储)。

主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。

2、补码与原码的转换过程几乎是相同的。

数值的补码表示也分两种情况:
(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码0000111按位取反为1111000;再加1,所以-7的补码是11111001。

已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。
例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再加1,所以是10000111。
湛蓝水晶
2007-08-18 · 知道合伙人数码行家
湛蓝水晶
知道合伙人数码行家
采纳数:1388 获赞数:9352
毕业北京科技大学数学与应用数学专业,学士学位,IT行业6年从业经验。现任公司项目经理。

向TA提问 私信TA
展开全部
错。
负数的补码是对它的绝对值的原码逐位取反再末位加1。
而正数的补码是原码本身。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2007-08-18 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5247万
展开全部
正数的补码与其原码相同;

负数的补码是对它的原码(除符号位外)各位取反,并在未位加1.

引入补码的目的是使减法运算变加法运算,让符号位也一起参加运算,使运算变得简单. 这就是对正数补码定义不同于负数补码的原因.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
岳阳作诗乃奇观0
2007-08-27 · TA获得超过290个赞
知道答主
回答量:295
采纳率:0%
帮助的人:0
展开全部
这个和微机原理的记数系统有关
减一个数字等于加上这个数字的补码,因此,补码要同时满足运算的符号和数位的变换
在2进制中,这种数位变换经过计算后刚好为原来数码的反码加1
所以计算是我们就用原码的反码加1并称为补码进行加法运算
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zubyzuby
2007-08-27 · TA获得超过1539个赞
知道小有建树答主
回答量:1118
采纳率:100%
帮助的人:1221万
展开全部
补码是为了将 减法 化作 加法 进行计算
a - b = a + (-b)

0001 ->取反:fffe->加一:ffff

1 = 0001 -1= ffff

所以定义就是这样的了
---------------------------------
正数的补码就是本身
负数的补码就是取反再加1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式