① 为什么在机器数补码中,零的表示是唯一的。
对于(+0)和(-0),在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).
于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在用字节表示时补码中用(-128)代替了(-0),所以用字节表示的补码的范围为:
(-128~0~127)共256个.
注意:(-128)没有相对应的原码和反码。
② 为什么“对于真值0,源码有两种不同的表现形式,而补码却只有唯一的一种表现形式.”
0可以是+0,也可以是-0
0的原码为:10000(-0),00000(+0)
+0的补码和原码相同,为00000
-0的补码是在-0的原码(10000)的基础上,符号位不变,其它位按位取反再在低位加1(11111+1=00000),进而得到-0的补码00000
所以补码表示0只有一种情况00000.而原码则表示了两次,分别为10000和00000.
希望可以帮到你,谢谢!
③ 零的表示是唯一的,是机器数中的( )码
那就采纳吧3QQ
随便多少分都行,是个意思,
第一大家都爱好这个,
第二说不定我哪天还请教您那
第三激励我一下咯
答案是补码
我研究过原反补存在的意义,可你没分啊可以追分吗
补码存在的一个原因是为了统一正0和负0
正零:00000000
负零:10000000
这两个数其实都是0,但他们的原码却有不同的表示。
但是他们的补码是一样的,都是00000000
特别注意,如果+1之后有进位的,要一直往前进位,包括符号位!(这和反码是不同的!)
[10000000]补
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符号位变成了0)
④ 请问计算机的补码总为什么0有唯一的补码,即[+0]=[-0]=00000000[-0]不应该不是这样吗
貌似是因为计算机中没有+0和-0的区别。拿8位机举例:如果有正零和负零的区别的话计算机一位的长度只能表示-127~+127共255个数,但是如果把1000,0000即我们认为的-0判断成+128就能多表示一个数。为了功能更强大,所以设计人员让计算机内部就不区别+0,-0所以也就不存在-0这个东东,所以0的补码是唯一的也就是+0的补码.
⑤ 0的原码,补码,反码是什么
0在计算机种分+0与-0,它们的原码,补码,反码如下:
1、[+0]原码=0000 0000, [-0]原码=1000 0000;
2、[+0]反码=0000 0000, [-0]反码=1111 1111;
3、[+0]补码=0000 0000, [-0]补码=0000 0000。
在这里你会发现,+0和-0的补码是一样的,即0的补码只有一种表示。
在计算机内,符号数有3种表示法:原码、反码和补码。
(5)零在源码中表现形式不是唯一的扩展阅读:
原码、补码、反码的转换规则:
1、原码的求法:
(1)对于正数,转化为二进制数,在最前面添加一符号位(这是规定的),用1表示负数,0表示正数,如:0000 0000是一个字节,其中左边第一个0,0为符号位,表示是正数,其它七位表示二进制的值。
(2)正数的原码、反码、补码是同一个数。
(3)对于负数,转化为二进制数,前面符号位为1,1表示是负数。
2、计算原码只要在转化的二进制数前面加上相应的符号位就行了。
3、反码的求法:
对于负数,将原码各位取反,符号位不变。
4、补码的求法:
对于负数,将反码加上二进制的1即可,也就是反码在最后一位上加上1就是补码了。
⑥ 为什么补码中0只有一种表示方法
因为补码的正零与负零表示方法相同。
补码一共有三个特性,除了补码的正零与负零表示方法相同外,一个负整数(或原码)与其补数(或补码)相加,和为模为补码的第二个特性,第三个特性是则是,对一个整数的补码再求补码,等于该整数自身。
小数的补码则是一种很简单的方式,符号位保持1不变,数值位从右边数第一个1及其右边的0保持不变,左边按位取反即可。
(6)零在源码中表现形式不是唯一的扩展阅读:
补码的求法:
正数
正整数的补码是其二进制表示,与原码相同。
【例1】+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)
负数
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
【例2】求-5的补码。
-5对应正数5(00000101)→所有位取反(11111010)→加1(11111011)
所以-5的补码是11111011。
【例3】数0的补码表示是唯一的。
[+0]补=[+0]反=[+0]原=00000000
[ -0]补=11111111+1=00000000
参考资料:
网络-补码
⑦ 在原码、反码、补码中数值0是唯一表示的
不对。
以8位为例,
原码0可以是:00000000或者10000000
反码0可以是:00000000或者11111111
只有补码的0是唯一表示的:00000000
⑧ 在原码、反码、补码中,对真值0表示形式唯一的机器数是__________。
在原码、反码、补码中,对真值0表示形式唯一的机器数是:__补__码__。
-------------------
假定码长是八位。
在原码中,对真值0表示形式,有两种:0000 0000 和 1000 0000。
在反码中,对真值0表示形式,也有两种:0111 1111 和 1111 1111。
在补码中,对真值0表示形式,只有一种:0000 0000。