文章目录:
- 1、补码10000000表示多大?
- 2、一位符号位10000000的原码补码反码各是?其对应的真值各是?
- 3、补码10000000表示多大?补码10000000的原码是多少啊,还是10000...
- 4、二进制补码10000000的源码是多少?
- 5、+0或者-0的源码、反码、补码
- 6、补码10000000原码是多少
补码10000000表示多大?
补码10000000 的最高位为1, 所以它表示的是负数。
1、原码是10000000,补码10000000的真值是-128。
2、我们将其八位全部取反,得到01111111, 然后加1,得到10000000。
3、8位二进制数的原码,可以表示:-127~+127;8位二进制数的补码,可以表示:-128~+127。
扩展资料:
特性
1、一个负整数(或原码)与其补数(或补码)相加,和为模。
2、对一个整数的补码再求补码,等于该整数自身。
3、补码的正零与负零表示方法相同。
模的概念可以帮助理解补数和补码。
“模”是指一个计量系统的计数范围。如时钟等。计算机也可以看成一个计量机器,它也有一个计量范围,即都存在一个“模”。例如:
时钟的计量范围是0~11,模=12。表示n位的计算机计量范围是0~2^(n)-1,模=2^(n)。
“模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算。
例如:假设当前时针指向10点,而准确时间是6点,调整时间可有以下两种拨法:一种是倒拨4小时,即:10-4=6;另一种是顺拨8小时:10+8=12+6=6
在以12模的系统中,加8和减4效果是一样的,因此凡是减4运算,都可以用加8来代替。对“模”而言,8和4互为补数。实际上以12模的系统中,11和1,10和2,9和3,7和5,6和6都有这个特性。共同的特点是两者相加等于模。
对于计算机,其概念和方法完全一样。n位计算机,设n=8, 所能表示的最大数是11111111,若再加1成为100000000(9位),但因只有8位,最高位1自然丢失。又回了00000000,所以8位二进制系统的模为2^8。在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了。把补数用到计算机对数的处理上,就是补码。
参考资料:
补码—百度百科
一位符号位10000000的原码补码反码各是?其对应的真值各是?
二进制数10000000的
原码,反码,补码都是:010000000
对应的二进制真值是:+10000000
规律:
1.对于正整数,原码,反码,补码都是一样的,都是正整数本身。
2.对于负整数,原码的符号位为1,数值部分取其绝对值。
反码的符号位为1,其他位是原码取反。
补码的符号位为1,其他位是原码取反,末位加1。
补码10000000表示多大?补码10000000的原码是多少啊,还是10000...
你的问题可以这样解决
[10000000]补
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符号位变成了0)
你可能会问
:
10000000这个补码表示的哪个数的补码呢?
其实这是一个规定,这个数表示的是-128
所以n位补码能表示的范围是
-2^(n-1)到2^(n-1)-1
比n位原码能表示的数多一个
到这里你可能已经了解得差不多了,但还是有点迷糊,那再举些说明的例子:
-0.1101
原码:1.1101
反码:1.0010
//负数时,反码为原码取反
补码:1.0011
//负数时,补码为原码取反+1
移码:0.0010
//原数+1
-1011
原码:11011
反码:10100
//负数时,反码为原码取反
补码:10101
//负数时,补码为原码取反+1
移码:00101
//原数+10000
1011
原码:01011
反码:01011
//正数时,反码=原码
补码:01011
//正数时,补码=原码
移码:11011
//原数+10000
0.1101
原码:0.1101
反码:0.1101
//正数时,反码=原码
补码:0.1101
//正数时,补码=原码
移码:1.1101
//原数+1
从以上您
可能已经观察出来了,其实让人不理解的原因在于:
无法用8位的源码表示
这个数的真值是
-2^7
源码的表示范围是
-(2^7
-
1)到
2^7
-
1
补码的表示范围是
-2^7
到
2^7
-
1
补码要多出一个数,而这个数就是你问的10000000
在源码里面00000000和100000000都是表示0
这样比较浪费,在补码里面,就把100000000当做
-2^7
,以扩大补码表示范围
以上回答希望对你有用
二进制补码10000000的源码是多少?
10000000-00000001=10000000+11111111=011111111 ,结果为01111111,而且有进位,表示有溢出,最高为必须参与运算,因为机器是不知道是否原码还是补码,这也就是把减法变成加法的方法.128已经超出一个字节的有符号整数的表示范围了,-128为10000000,正数只能到127.
计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过是我们绝大多数人生来具有10个手指头这个解剖学事实的结果。尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚。".为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制1.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了。
+0或者-0的源码、反码、补码
[+0]原码=0000 0000, [-0]原码=1000 0000
[+0]反码=0000 0000, [-0]反码=1111 1111
[+0]补码=0000 0000, [-0]补码=0000 0000
你会发现,+0和-0的补码是一样的。即 0的补码只有一种表示。
这里解释一下[-0]补码是怎么得来的。
负数的补码就是反码整体加一。符号位上的进位舍弃。(所以,舍弃了符号位的补码的第一位是数值位,不是符号位,符号位舍弃了)
另外解释一下原码符号位和补码符号位的关系,补码的符号位不是保持原码的第一位不变,而是 符号位不变,[-0]反码的第一个1是符号位,尾数中的7个1是数值位,尾数加一后,数值位产生了进位,1111 1111+1=1 0000 0000(计算补码的过程中,并不是先保证第一位不变,而是保证符号位不变,保证补码规则是反码整体加一)。
所以,补码能表示的数的个数中,比原码反码少了一个,所以补码可以多表示一个真值为-128的数。
但是,多表示的这个数-128比较特殊,只有原码和补码,没有反码。
-128的补码是1000 0000。128的补码为什么是1000 0000。因为8位二进制的原值表达范围为:-127至127,共有256个组合序列 0000 0000 至1111 1111 。+128的原值在8位中是表达不出来的。
扩展资料:
数值在计算机中是以补码的方式存储的,在探求为何计算机要使用补码之前, 让我们先了解原码, 反码和补码的概念。
对于一个数, 计算机要使用一定的编码方式进行存储。 原码, 反码, 补码是计算机存储一个具体数字的编码方式。
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。
机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。比如,十进制中的数 +2 ,计算机字长为8位,转换成二进制就是[00000010]。如果是 -2 ,就是 [10000010] 。
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 [10000010],其最高位1代表负,其真正数值是 -2 而不是形式值130([10000010]转换成十进制等于130)。
所以将带符号位的机器数对应的真正数值称为机器数的真值。
参考资料:
原码_百度百科
反码_百度百科
补码_百度百科
补码10000000原码是多少
无法用原码表示,按照原码定义,8位原码所表示真值的范围为:-127(11111111B)~+127(01111111B)。补码10000000B的真值为-128,超出了8位原码的表示范围,所以无法用8位原码表示。
数0的补码表示是唯一的。
[+0]补=[+0]反=[+0]原=00000000;
[-0]补=11111111+1=00000000。
扩展资料:
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
1、如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
2、如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
例:已知一个补码为11111001,则原码是10000111。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;再加1,所以是10000111。
参考资料:
百度百科-补码
11111=011111111 ,结果为01111111,而且有进位,表示有溢出,最高为必须参与运算,因为机器是不知道是否原码还是补码,这也就是把减法变成加法的方法.128已经超出一个
算机用一个数的最高位存放符号, 正数为0, 负数为1。比如,十进制中的数 +2 ,计算机字长为8位,转换成二进制就是[00000010]。如果是 -2 ,就是 [10000
000111。参考资料:百度百科-补码
就是机器数的原码了。+0或者-0的源码、反码、补码[+0]原码=0000 0000, [-0]原码=1000 0000[+0]反码=0000 0000, [-0]反码=1111 1111[+0]补码=0000 0000, [-