不要抄书!!!!!!!!!!!!!
为什么补码是对它的原码各位取反,并在末位加1?
补码是对它的原码(除符号位外)各位取反,并在未位加1?
答案:5 悬赏:30 手机版
解决时间 2021-01-29 20:38
- 提问者网友:风月客
- 2021-01-29 08:04
最佳答案
- 五星知识达人网友:零点过十分
- 2021-01-29 09:22
这个和微机原理的记数系统有关
减一个数字等于加上这个数字的补码,因此,补码要同时满足运算的符号和数位的变换
在2进制中,这种数位变换经过计算后刚好为原来数码的反码加1
所以计算是我们就用原码的反码加1并称为补码进行加法运算
减一个数字等于加上这个数字的补码,因此,补码要同时满足运算的符号和数位的变换
在2进制中,这种数位变换经过计算后刚好为原来数码的反码加1
所以计算是我们就用原码的反码加1并称为补码进行加法运算
全部回答
- 1楼网友:想偏头吻你
- 2021-01-29 13:33
错。
负数的补码是对它的绝对值的原码逐位取反再末位加1。
而正数的补码是原码本身。
- 2楼网友:渡鹤影
- 2021-01-29 12:04
正数的补码与其原码相同;
负数的补码是对它的原码(除符号位外)各位取反,并在未位加1.
引入补码的目的是使减法运算变加法运算,让符号位也一起参加运算,使运算变得简单. 这就是对正数补码定义不同于负数补码的原因.
- 3楼网友:洒脱疯子
- 2021-01-29 11:00
除了下限(字长8位的-128、字长16位的-32768、……)之外,
题目的那句话是正确的。
.
求负数补码可用另一方法:[x]补 =x +模
例如,字长8位的模 =2^8 =256
[-128]补 =(-128) +256 =128 =1000 0000b
又如,字长16位的模 =2^16 =65536
[-32768]补 =(-32768) +65536 =32768 =1000 0000 0000 0000b
- 4楼网友:七十二街
- 2021-01-29 10:46
计算机中的数和数的符号都是用二进制表示的,这样的数称为机器数(原,补,反)
一般用最高有效位来表示数的符号
@@@@@@@@ 正数用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 补码是为了将 减法 化作 加法 进行计算
a - b = a + (-b)
0001 ->取反:fffe->加一:ffff
1 = 0001 -1= ffff
所以定义就是这样的了
---------------------------------
正数的补码就是本身
负数的补码就是取反再加1
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯