补码是对它的原码(除符号位外)各位取反,并在未位加1?
7个回答
展开全部
计算机中的数和数的符号都是用二进制表示的,这样的数称为机器数(原,补,反)
一般用最高有效位来表示数的符号
@@@@@@@@ 正数用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。
一般用最高有效位来表示数的符号
@@@@@@@@ 正数用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 · 知道合伙人数码行家
关注
展开全部
错。
负数的补码是对它的绝对值的原码逐位取反再末位加1。
而正数的补码是原码本身。
负数的补码是对它的绝对值的原码逐位取反再末位加1。
而正数的补码是原码本身。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正数的补码与其原码相同;
负数的补码是对它的原码(除符号位外)各位取反,并在未位加1.
引入补码的目的是使减法运算变加法运算,让符号位也一起参加运算,使运算变得简单. 这就是对正数补码定义不同于负数补码的原因.
负数的补码是对它的原码(除符号位外)各位取反,并在未位加1.
引入补码的目的是使减法运算变加法运算,让符号位也一起参加运算,使运算变得简单. 这就是对正数补码定义不同于负数补码的原因.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个和微机原理的记数系统有关
减一个数字等于加上这个数字的补码,因此,补码要同时满足运算的符号和数位的变换
在2进制中,这种数位变换经过计算后刚好为原来数码的反码加1
所以计算是我们就用原码的反码加1并称为补码进行加法运算
减一个数字等于加上这个数字的补码,因此,补码要同时满足运算的符号和数位的变换
在2进制中,这种数位变换经过计算后刚好为原来数码的反码加1
所以计算是我们就用原码的反码加1并称为补码进行加法运算
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
补码是为了将 减法 化作 加法 进行计算
a - b = a + (-b)
0001 ->取反:fffe->加一:ffff
1 = 0001 -1= ffff
所以定义就是这样的了
---------------------------------
正数的补码就是本身
负数的补码就是取反再加1
a - b = a + (-b)
0001 ->取反:fffe->加一:ffff
1 = 0001 -1= ffff
所以定义就是这样的了
---------------------------------
正数的补码就是本身
负数的补码就是取反再加1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询