A. 负数的补码怎么求
就比如-9 补码是11110111。
9的源码为00001001,如果是负数的话,补码为最高位置1,
其余取反也就是11110110,
然后在最低位加1即可即11110111。
B. 如何用负数的补码来求原码,求例子
首先,负数的补码=其正数的源码的反码+1。然后,负数的源码就是先减1在取反,最高位为1
eg:(-125)源=11111101b,
(-125)反=10000010b,
(-125)补=10000011b,反过来求-125的源码就是用-125的补码10000011先减1,得到10000010,在取反01111101,最高位改成1,11111101,懂了吗?祝考试周愉快~
C. 负数的补码如何计算举个例子!
就比如-9补码是11110111。
9的源码为00001001,如果是负数的话,补码为最高位置1,其余取反也就是11110110,然后在最低位加1即可即11110111。
计算机中的负数是以其补码形式存在的补码=原码取反+1。
一个字节有8位可以表示的数值范围在-128到+127。用二进制表示也就是10000000-01111111(注意:最高位表示符号)。最高位是1的都是负数最高位是0的都是正数。
(3)负数的补码怎样源码吗扩展阅读:
补码乘法
补码的乘法不具备【X*Y】补=【X】补×【Y】补的性质。但是【X*Y】补==【X】补×Y,所得结果再取补码,如x=101,y=011,[x*y]补=-[(-101)*011]=-[011*011]=-01001=10111。
其中,若【Y】补=y31y30……y0,则Y=-y31*2^31+y30*2^30+……+y0*2^0
原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
D. 负数的补码怎么变回原码
只需对其各位取反加一即可得到原码。
从数学角度回答,假定在32位机器上。
设某负数X,则X+X(反)= 0xFFFFFFFF。
所以X+X(反)+1 = 0,可以得出 0 - X = X(反)+ 1。
这里 0 - X即定义为负数X的补码,这样,计算机在进行X-Y运算时实际可用X+Y(补)代替,硬件角度只需实现加法电路即可。
同样的道理,0-X(补)=X(补)(反)+1 = X,即已知负数补码只需对其各位取反加一即可得到原码。
补码的意义
补码“模”概念的引入、负数补码的实质、以及补码和真值之间的关系所揭示的补码符号位所具有的数学特征,无不体现了补码在计算机中表示数值型数据的优势,和原码、反码等相比可表现在如下方面:
1、解决了符号的表示的问题。
2、可以将减法运算转化为补码的加法运算来实现,克服了原码加减法运算繁杂的弊端,可有效简化运算器的设计。
3、在计算机中,利用电子器件的特点实现补码和真值、原码之间的相互转换,非常容易。
4、补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算,这也为后面设计乘法器除法器等运算器件提供了极大的方便。
总之,补码概念的引入和当时运算器设计的背景不无关系,从设计者角度,既要考虑表示的数的类型(小数、整数、实数和复数)、数值范围和精确度,又要考虑数据存储和处理所需要的硬件代价。因此,使用补码来表示机器数并得到广泛的应用,也就不难理解了。
E. 计算机原码反码补码怎么算
计算机原码反码补码计算方法:
1、原码
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]
即[-127 , 127]
原码是人脑最容易理解和计算的表示方式。
2、反码
反码的表示方法是:正数的反码是其本身。负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数,人脑无法直观地看出来它的数值。通常要将其转换成原码再计算。
3、补码
补码的表示方法是:正数的补码就是其本身。负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)。
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数,补码表示方式也是人脑无法直观看出其数值的。通常也需要转换成原码在计算其数值。
(5)负数的补码怎样源码吗扩展阅读:
原码,反码和补码是完全不同的。既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?
首先,因为人脑可以知道第一位是符号位,在计算的时候我们会根据符号位,选择对真值区域的加减。但是对于计算机,加减乘数已经是最基础的运算,要设计的尽量简单。计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂。于是人们想出了将符号位也参与运算的方法。我们知道,根据运算法则减去一个正数等于加上一个负数,即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法,这样计算机运算的设计就更简单了。
于是人们开始探索将符号位参与运算,并且只保留加法的方法。
F. 计算机二进制中负数的补码是怎么根据原来的数写的如-126怎么写
正数的补码,就是该数本身。
负数的补码,就用正数,减一、取反,即可。
+126 的补码是:0111 1110。
减一,得:0111 1101;
然后取反:1000 0010。
这就是-126 的补码。
想要求补码,你就直接求补码,不用讨论原码反码。
因为,计算机中,根本就没有原码反码。
所以,根本就不用讨论,这些不存在的东西。
G. 怎么求一个负数的原码和补码
正数,本身就是补码。
负数,就用它的正数,减一取反,即可得到补码。
如:+9 的二进制是:0000 1001。
下面求-9 补码:
先减一:0000 1001 - 1 = 0000 1000;
再取反:1111 0111。
所以有:-9 补码 = 1111 0111。
这不就完了吗!
简不简单?意不意外?
原码反码符号位,讨论这些垃圾干嘛?
这些垃圾,只是那些专家用来骗吃骗喝的!
H. 负数的补码怎么求
正数的补码,是其本身。
负数的补码,就用它的正数,减一取反,即可得到补码。
如,已知:+9补码是:00001001。
下面求-9补码:
先减一:00001001-1=00001000;
再取反:11110111。
所以有:-9补码=11110111。
这不就完了吗?
简不简单?意不意外?
原码反码符号位,讨论这些垃圾干嘛?
不都是骗人的吗?
I. C语言中负数的补码怎么求
正数,本身就是补码。
负数,就用它的正数,减一取反,即可得到补码。
如,已知:+9 的二进制是:00001001。
下面求-9补码:
先减一:00001001-1=00001000;
再取反:11110111。
所以有:-9补码=11110111。
这不就完了吗!
简不简单?意不意外?
原码反码符号位,讨论这些垃圾干嘛?
这些垃圾,都是用来骗吃骗喝的!
J. 一个负数如何用补码表示,举例说明下!
一个负数如何用补码表示,举例说明下!
------
按照八位字长,负数的范围是-1~-128。
它们的补码推导如下。
十进制数 0,以二进制补码 0000 0000 存放。
十进制数 -1,你就减去 1,补码就是 1111 1111。
十进制数 -2,你就再减 1,补码就是 1111 1110。
。。。
十进制数 -128,减 1减 1...,补码就是 1000 0000。