80H的补码如何转换为源码_80的原码反码补码

hacker|
85

文章目录:

有符号补码80H怎么转换成原码,-1的时候可以向符号位借1吗?

[x]补 =80h =10000000b

x = -128d

若是字长8位,不能用原码及反码表示。

补码怎么转换成原码?

补码的补码等于原码(就是把补码看作原码,再来一次奖原码转为补码的运算,就得到了原码)。

例如:

-4的8位

原码:1000 0100

反码:1111 1011

补码:1111 1100

将现在1111 1100看作原码,再求一次补码:

反码:1000 0011

补码:1000 0100----结果就是要求的原码。

原码与补码的转换

1、首先要知道,换算规则:原码转换为反码:符号位不变,数值位分别“按位取反” 。

2、接着反码转换为原码也是一样,但规则却有不同之处:符号位不变,数值位分别“按位取反”。

3、然后就是,原码转换为补码的规则:符号位不变,数值位按位取反,末位再加1。

4、最后补码转换为原码:符号位不变,数值位按位取反,末位再加1,即补码的补码等于原码。

5、而求补(变补)的换算规则与之前有所差别:符号位和数值位都取反,末位再加1。

补码为80H,原码为多少?

80H的二进制数是:10000000,转换成原码是:1 00000000,相当于-128。

正整数的补码是其二进制表示,与原码相同。

+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)

在数的表示上通过人为的定义来消除编码映射的不唯一性,对转换后的10000000强制认定为-128。当。

转化为原码:已知一个数的补码,求原码的操作其实就是对该补码再求补码:如果补码的符号位为“0”,表示是一个正数,其原码就是补码。如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。

扩展资料

编码方式:

原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。一个字长为n的机器数能表示不同的数字的个数是固定的2^n个,n=8时2^n=256。

用来表示有符号数,数的范围就是-(2^(n-1)-1)~+2^(n-1)-1,n=8是这个范围就是-127~+127。但是在不需要考虑数的正负时,就不需要用一位来表示符号位。

n位机器数全部用来表示是数值,这时表示数的范围就是0~2^n-1,n=8时这个范围就是0~255.没有符号位的数,称为无符号数。

参考资料来源:百度百科-补码

十六进制带符号数80(补码表示)的真值是多少

8位二进制补码的十六进制码80,表示的是十进制数-128(题目中所谓的真值)。

补码如何变成原码

已知一个数的补码,求原码的操作分两种情况:

(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。

(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。

例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为   “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。

扩展资料:

总结:

已知一个数的补码,求原码的操作其实就是对该补码再求补码。

补码转换为原码:符号位不变,数值位按位取反,末位再加1。即补码的补码等于原码。

正整数的原码、反码和补码是一样的,即看到符号位(第一位)是0,就可以照着写出其他两种码。所以已知正数的补码,求其原码,两个数是一样的。

参考资料:百度百科——补码

1条大神的评论

  • avatar
    访客 2022-07-11 下午 12:16:56

    码就是要求的原码。扩展资料编码方式:原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。一个字长为n的机器数能表示不同的数字的个数是固定的2^n个,n=8时2^n=256。用来表示有符号数,数的范围就是-(2^(n-1)-1)~+2^(n-1)-1,n=8是这个范围就是-

发表评论