原码、反码和补码的转换及表示范围
3个回答
展开全部
数字在机器中存储都是用二进制来存储的,有符号数则有:原码、反码和补码三种表示方式。这三种表示方式里,最高位均代表符号位,1-负数,0-正数。
1.原码
一个数的原码就是该数直接转换成二进制得到的数字,第一位是符号位。
2.反码
正数的反码是自己本身;负数的反码是原码除符号位不动,其他所有位按位取反。
3.补码
正数的补码是自己本身;负数的补码是反码加一得到的(运算时包括符号位)。
故,正数的原反补码都是相等的,负数的原反补码是相互转换得到的。
举例:
计算机存储并计算8-5,因为CPU只有加法器,故要将8-5转换成8+(-5)来计算。
(+8)
8的原码:0000 1000
8的反码:0000 1000
8的补码:0000 1000
(-5)
-5的原码:1000 0101
-5的反码:1111 1010
-5的补码:1111 1011
8 - 5 = 8 + (-5)= 0000 1000 + 1111 1011 = 0000 0011
0000 0011的符号位是0,则表示正数,原反补码都相同,转化为十进制就是3。
所以,数据在计算机中以补码的形式表示和储存,补码的出现也更加便于计算。
二、原码、反码和补码的表示范围
一般计算机字长32位,即用32位二进制表示数:
原码:-[2^(n-1)-1] ~ 2^(n-1) - 1
反码:-[2^(n-1)-1] ~ 2^(n-1) - 1
补码: -2^(n-1) ~ 2^(n-1) - 1
1.原码
一个数的原码就是该数直接转换成二进制得到的数字,第一位是符号位。
2.反码
正数的反码是自己本身;负数的反码是原码除符号位不动,其他所有位按位取反。
3.补码
正数的补码是自己本身;负数的补码是反码加一得到的(运算时包括符号位)。
故,正数的原反补码都是相等的,负数的原反补码是相互转换得到的。
举例:
计算机存储并计算8-5,因为CPU只有加法器,故要将8-5转换成8+(-5)来计算。
(+8)
8的原码:0000 1000
8的反码:0000 1000
8的补码:0000 1000
(-5)
-5的原码:1000 0101
-5的反码:1111 1010
-5的补码:1111 1011
8 - 5 = 8 + (-5)= 0000 1000 + 1111 1011 = 0000 0011
0000 0011的符号位是0,则表示正数,原反补码都相同,转化为十进制就是3。
所以,数据在计算机中以补码的形式表示和储存,补码的出现也更加便于计算。
二、原码、反码和补码的表示范围
一般计算机字长32位,即用32位二进制表示数:
原码:-[2^(n-1)-1] ~ 2^(n-1) - 1
反码:-[2^(n-1)-1] ~ 2^(n-1) - 1
补码: -2^(n-1) ~ 2^(n-1) - 1
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
2022-05-15 广告
增量编码器一般输出信号是两路正交脉冲信号和一路参考信号,之所以叫增量是因为它的位置信号是通过对脉冲计数累加得到,依靠计数设备的内部记忆来记住位置,并且同每圈输出的参考信号来清除累计误差. 缺点就是断电后,需要重新寻找初始位置. 例如打印机扫...
点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
展开全部
原码、反码和补码的转换及表示范围
-----------------
在计算机系统中,数值,一律采用补码表示和存储。
在计算机系统中,只有补码,并没有原码和反码。
转换?
转换什么呢?
在计算机系统中,只有补码。
你是把补码,转换成原码或反码?
计算机也不用原码和反码,你转换出来,干嘛呢?
而且,你也没有地方存放啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询