-32768的二进制补码是多少?

我算出来应该是(11000000000000000)!一共17位。可是书上写的是(1000000000000000),它书上到底是怎么算的?补充:我是在C语言书上看到的,书上讲16位有符号int型取值范围是-32768到32767!急......这里先谢谢回答者了!

-32768的二进制补码为1000000000000000,同时也可以为11000000000000000,因为补码1000000000000000和11000000000000000是相等的。

(1000000000000000)二是补码,最高位1,表示是负数,转换成对应原码是用下面的方法:

1,原码转换成补码时:把原码的反码再加1,就是补码。

2,补码转换成原码时:把补码的反码再加1,就是原码。

(1000000000000000)二的数码是(000000000000000)二,它的反码是(111111111111111)二,再加1为:(1000000000000000)二=32768,所以(1000000000000000)二=(-32768)十(-32768的补码)。


扩展资料:

二进制补码简介:

1,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,正如亚里士多德早就指出的那样,十进制的广泛采用,只不过是绝大多数人生来具有10个手指头这个解剖学事实的结果。尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚。

2,为了能方便地与二进制转换,就使用了十六进制(2 4)和八进制1.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-29

-32768补码为:11000,0000,0000,0000

求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1  。

同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。

例:求-5的补码。

-5对应正数5(00000101)→所有位取反(11111010)→加1(11111011)

所以-5的补码是11111011。

扩展资料:

补码“模”概念的引入、负数补码的实质、以及补码和真值之间的关系所揭示的补码符号位所具有的数学特征,无不体现了补码在计算机中表示数值型数据的优势,和原码、反码等相比可表现在如下方面:

(1)解决了符号的表示的问题 ;

(2)可以将减法运算转化为补码的加法运算来实现,克服了原码加减法运算繁杂的弊端,可有效简化运算器的设计;

(3)在计算机中,利用电子器件的特点实现补码和真值、原码之间的相互转换,非常容易 ;

(4)补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算,这也为后面设计乘法器除法器等运算器件提供了极大的方便。总之,补码概念的引入和当时运算器设计的背景不无关系。

从设计者角度,既要考虑表示的数的类型(小数、整数、实数和复数)、数值范围和精确度,又要考虑数据存储和处理所需要的硬件代价。因此,使用补码来表示机器数并得到广泛的应用,也就不难理解了。    

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

本回答被网友采纳
第2个回答  2019-12-18

-32768补码为:11000,0000,0000,0000

用反码运算时,结果为-0,虽然+0和-0都是0,但是看起来总是觉得怪怪的,何况0带符号没有任何意义,并且出现了两个能表示0的二进制数00000000和10000000。这让严谨的程序员们如何能接受,为了消除歧义,于是出现了反码。

对于所有的数(无论整形实形)在系统内部都只能有唯一的表示方式。可是0的原码和反码都不是唯一的(10000000或00000000),所以有了补码。补码直接参与二进制运算,减法变成加法运算。比原码和反码相对于机器而言更优。

扩展资料:

计算机中的符号数有三种表示方法,即是原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。  

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。  

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

本回答被网友采纳
第3个回答  2020-01-02

-32768补码的十六进制形式是0x8000。任何整数计算补码,都是取反后加1。

求法:第一位“1”是符号位,表示负数,相反,正数的符号位是“0”.后面求它的二进制即可。
-32768补码为:11000,0000,0000,0000

因为对于所有的数(无论整形实形)在系统内部都只能有唯一的表示方式。可是0的原码和反码都不是唯一的(10000000或00000000),所以有了补码。补码直接参与二进制运算,减法变成加法运算。比原码和反码相对于机器而言更优。

扩展资料:

假设当前时针指向8点,而准确时间是6点,调整时间可有以下两种拨法:一种是倒拨2小时,即8-2=6;另一种是顺拨10小时,8+10=12+6=6,即8-2=8+10=8+(12-2)(mod 12).在12为模的系统里,加10和减2效果是一样的,因此凡是减2运算,都可以用加10来代替。

若用一般公式可表示为:a-b=a-b+mod=a+(mod-b)。对“模”而言,2和10互为补数。实际上,以12为模的系统中,11和1,8和4,9和3,7和5,6和6都有这个特性,共同的特点是两者相加等于模。

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

本回答被网友采纳
第4个回答  推荐于2017-09-15
(1000000000000000)二是补码,最高位1,表示是负数,转换成对应原码是用下面的方法:
(1)原码转换成补码时:把原码的反码再加1,就是补码。
(2)补码转换成原码时:把补码的反码再加1,就是原码。
(1000000000000000)二的数码是(000000000000000)二,它的反码是(111111111111111)二,再加1为:(1000000000000000)二=32768,
所以(1000000000000000)二=(-32768)十(-32768的补码)。本回答被提问者采纳