精华内容
下载资源
问答
  • 二进制补码运算

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

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

    负数X的补码 = |X|按位求反+1 
    = X按拉求反(除符号位外)+1 
    = 模 - |X| (强调了补码运算本质上是一种模运算,这就是称其为“补码”的缘由)

           注释: 负数就相当于减去一个正数 ;减去一个正数就相当于加上一个负数;加上一个负数就相当于加上这个负数的补码;负数的补码为其数值部分取反加一。(即减去一个数等于加上这个数对应负数的补码)

           例如: - 6 等于  + (-6的补码)

    - 6 补码:

    -6的原码: 1110

    对-6的原码取反(-6的反码): 1001

    对-6的原码取反加一(-6的补码):1010 (即-6在计算机系统中的表示)

    求补码的原码:

      例如 -6的补码为1010

      对1010取反: 1101

    +1 : 1110 (十进制为-6)

     

    展开全文
  • 二进制运算 计算机中,数值的运算都是用二进制表示的。 一个二进制数中,最高位是符号位,0 为正数,1 为负数。 6 的二进制:0000 0110 8 的二进制:0000 1000 -8 的二进制:1000 1000 如计算: 6 + 8  ...

    目录

    二进制运算

    补码的概念

    证明负数可以用补码表示


    二进制运算


    计算机中,数值的运算都是用二进制表示的。

    一个二进制数中,最高位是符号位,0 为正数,1 为负数。

    6 的二进制:0000 0110

    8 的二进制:0000 1000

    -8 的二进制:1000 1000

    如计算: 6 + 8

     00000110

    +00001000

    ---------

     00001110

    得到结果是 0000 1110,也就是十进制的 14。

    但是如果计算: 6 + (-8) 

     00000110

    +10001000

    ---------

     10001110

    得到的结果是 1000 1110,也就是十进制的 -14, 显然该结果是错误的。

    从上面例子看出,如果使用正常的加法规则来运算,正数和正数相加的结果是正确的,而正数和负数相加的结果是错误的。

    在计算机中,为了解决正数和负数相加的问题,采用补码来表示负数。

    补码的概念


    在介绍补码的概念之前,先介绍一下“模”的概念。

    假设当前时针指向 8 点,而准确时间是 6 点,调整时间有以下两种拨法:

    一种是倒拨 2 小时,8 - 2 = 6 点;

    另一种是顺拨 10 小时,8 + 10 = 12 + 6 = (12 + 6 ) % 12 = 6 点;

    即 8 - 2 = 8 + 10 = 6 点 。

    时钟的“模”是 12,减 2 和 加 10 的效果是一样的,也就是 2 和 10 互为补数。

    如果两个数互为补数,那么它们的和正好等于“模”。所以,减法也就可以转成加法运算:

    X - Y = X + ( Y 的补数 ) = X + (“模”- Y)

    对于计算机,其概念和方法完全一样。n 位计算机,设 n = 8,所能表示的最大数是 1111 1111,若再加 1 成 1 0000 0000 (9位),但因只有 8 位,最高位 1 自然丢失,又回到了 00000000,所以 8 位二进制系统的“模”为 2 的 8 次方。在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了。把补数用到计算机对数的处理上,就是补码。

    求给定数值的补码分以下两种情况:

    • 正数的补码,与原码相同。

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

    8 位计算器的负数的补码计算公式:

    1111 1111 - 负数的原码 + 1 = 1 0000 0000 - 负数的原码 = “模”- 负数的原码

    如上例子,要计算 6 + (-8),要先得到 -8 的补码,然后 6 加上补码:

    -8 的补码:1111 0111 + 1 = 1111 1000

    6 加上补码:0000 0110 + 1111 1000 = 1111 1110

    结果中第一位是 1,表示这个结果是负数的补码,该补码对应的负数为(先减 1,再取反):

    先减 1:1111 1110 - 1 = 1111 1101

    再取反:1000 0010(也就是十进制的 -2)

    在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理。同时,加法和减法也可以统一处理,也就是只使用一种加法电路就能完成加法和减法的运算。

    证明负数可以用补码表示


    证明:X - Y = X + (-Y) 的补码

    -Y 的补码:(1111 1111 - Y) + 1

    X - Y = X + (-Y)的补码

            = X + (111 11111 - Y) + 1

            = X - Y + 1 0000 0000

            = X - Y + 0000 0000

            = X - Y

    在 8 位计算机中,1 0000 0000(9位)的最高位 1 需要舍弃,也就是 0000 0000。

     

    展开全文
  • 程序员二进制计算器 v1.36

    热门讨论 2014-07-16 16:21:43
    专为程序员打造的计算器二进制运算强大,支持64位。 采用表达式驱动,输入表达式便即时显示结果,抛弃传统计算器繁琐的按钮,表达式可粘贴或回调重复使用。 支持二进制串直接运算,如0b1101 & 0b0011= 0b0001。 ...
  • 二进制补码计算简单详实的讲解

    千次阅读 2019-02-09 19:08:00
    在回答二进制补码为什么能正确实现加法运算之前,我们先看看它的本质,也就是那两个求补码步骤的转换方法是怎么来的。下面描述了一个正数怎么求它对应负数在计算机的表达方式。比如128,正数为10000000,但是惊奇的...

    本文说明一个基本的问题,补码的问题。
    需要说明一点补码是对负整数在计算机中存储的一种形式;另一种形式是负数在计算机中可以用符号+负数绝对值的形式表示一个负数;比如(-3: 1000 0011存储)但是这种表示的负数有两个零+0,-0,最要命的一点是不能做算术运算。比如10-3=10+(-3)=0000 1010+ 1000 0011=1000 1101=-13显然是错的。所以负整数必须以补码存储。
    负数在计算机中如何表示?
    举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 
    很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号位。那么,+8就是00001000,而-8则是10001000。 
    但是,随便找一本《计算机原理》,都会告诉你,实际上,计算机内部采用2的补码(Two’s Complement)表示负数。

    在讲补码之前简单介绍机器数,真值,原码和反码的背景。
    1、机器数
    一个数在计算机中的二进制表示形式,  叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数0,负数为1。
    1
    比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是0000 0011。如果是 -3 ,就是 1111 1101 。那么,这里的 00000011 和 1111 1101 就是机器数。 机器数包含了符号和数值部分。

    2、真值
    因为第一位是符号位,所以机器数的形式值就不能很好的表示真正的数值。例如上面的有符号数 1111 1101,其最高位1代表负,其真正数值是 -3 而不是形式值253(1111 1101按无符号整数转换成十进制等于253)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。 
    例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –0111 1111 = –127;这里所说的比如-3二进制代码为10000011,就是我们计算机里面对-3表示的源码。下面介绍源码 
    首先说明一点 
    在计算机内,有符号数有3种表示法:原码、反码和补码。

    3、原码
    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制 
    [+1]原 = 0000 0001 
    [-1]原 = 1000 0001 
    因为第一位是符号位, 所以若是8位二进制数,其取值范围就是: 
    [1111 1111 , 0111 1111] 
    即[-127 , 127] 
    原码是人脑最容易理解和计算的表示方式。

    4 、反码
    反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。 
    [+1] = [ 00000001 ]原码 = [ 00000001 ]反码; 
    [-1] = [ 10000001 ]原码 = [ 11111110 ]反码; 
    可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算。

    什么是二进制的补码?
    注明:正数的补码与负数的补码一致,负数的补码符号位为1,这位1即是符号位也是数值位,然后加1

    补码借鉴的模概念,虽然理解起来有点晦涩难懂。可以跳过
    模的概念:把一个计量单位称之为模或模数。例如,时钟是以12进制进行计数循环的,即以12为模。 
    在时钟上,时针加上(正拨)12的整数位或减去(反拨)12的整数位,时针的位置不变。14点钟在舍去模12后,成为(下午)2点钟(14=14-12=2)。从0点出发逆时针拨10格即减去10小时,也可看成从0点出发顺时针拨2格(加上2小时),即2点(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射为+2。由此可见,对于一个模数为12的循环系统来说,加2和减10的效果是一样的;因此,在以12为模的系统中,凡是减10的运算都可以用加2来代替,这就把减法问题转化成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)。10和2对模12而言互为补数。同理,计算机的运算部件与寄存器都有一定字长的限制(假设字长为16),因此它的运算也是一种模运算。当计数器计满16位也就是65536个数后会产生溢出,又从头开始计数。产生溢出的量就是计数器的模,显然,16位二进制数,它的模数为2^16=65536。在计算中,两个互补的数称为“补码”。比如一个有符号8位的数可以表示256个数据,最大数是0 1 1 1 1 1 1 1(+127),最小数1 0 0 0 0 0 0 0 (-128);那么第255个数据,加2和减254都是一样的效果得出的结果是第一个数据 ,所以2和254是一样的效果。对于255来说2和254是互补的数。 
    求一个正数对应补码是一种数值的转换方法,要分二步完成: 
    第一步,每一个二进制位都取相反值,即取得反码;0变成1,1变成0。比如,00001000的反码就是11110111。 
    第二步,将上一步得到的反码加1。11110111就变成11111000。所以,00001000的二进制补码就是11111000。也就是说,-8在计算机(8位机)中就是用11111000表示。 
    不知道你怎么看,反正我觉得很奇怪,为什么要采用这么麻烦的方式表示负数,更直觉的方式难道不好吗?

    二进制补码的好处
    首先,要明确一点。计算机内部用什么方式表示负数,其实是无所谓的。只要能够保持一一对应的关系,就可以用任意方式表示负数。所以,既然可以任意选择,那么理应选择一种用的爽直观方便的方式。 
    二进制的补码就是最方便的方式。它的便利体现在,所有的加法运算可以使用同一种电路完成。 
    还是以-8作为例子。假定有两种表示方法。一种是直觉表示法,即10001000;另一种是2的补码表示法,即11111000。请问哪一种表示法在加法运算中更方便?随便写一个计算式,16 + (-8) = ?16的二进制表示是 00010000,所以用直觉表示法,加法就要写成: 
     00010000 
    +10001000原码形式-8 
    --------- 
     10011000 
    可以看到,如果按照正常的加法规则,就会得到10011000的结果,转成十进制就是-24。显然,这是错误的答案。也就是说,在这种情况下,正常的加法规则不适用于正数与负数的加法,因此必须制定两套运算规则,一套用于正数加正数,还有一套用于正数加负数。从电路上说,就是必须为加法运算做两种电路。所以用原码表示负数是不行的。 
    现在,再来看二进制的补码表示法。 
     00010000 
    +11111000补码形式-8 
    --------- 
    100001000 
    可以看到,按照正常的加法规则,得到的结果是100001000。注意,这是一个9位的二进制数。我们已经假定这是一台8位机,因此最高的第9位是一个溢出位,会被自动舍去。所以,结果就变成了00001000,转成十进制正好是8,也就是16 + (-8) 的正确答案。这说明了,2的补码表示法可以将加法运算规则,扩展到整个整数集,从而用一套电路就可以实现全部整数的加法。

    二进制补码的本质,本质是用来表示负整数的
    在回答二进制补码为什么能正确实现加法运算之前,我们先看看它的本质,也就是那两个求补码步骤的转换方法是怎么来的。下面描述了一个正数怎么求它对应负数在计算机的表达方式。比如128,正数为10000000,但是惊奇的发现-128也是10000000。但是这里由于属于数据类型的限定,第八位同样一个1代表不同的含义,前面的 1是数值位,后面数的 1是符号位。 
    要将正数转成对应的负数,其实只要用0减去这个数就可以了。比如,-8其实就是0-8。用模数的概念解释如下图 
     
    已知8的二进制是00001000,-8就可以用下面的式子求出: 
     00000000 
    -00001000 
    ---------- - - - 
    因为00000000(被减数)小于0000100(减数),所以不够减。请回忆一下小学算术,如果被减数的某一位小于减数,我们怎么办?很简单,问上一位借1就可以了。 
    所以,0000000也问上一位借了1,也就是说,被减数其实是100000000,这是重点;算式也就改写成: 
    100000000 
    -00001000 
    ---------- - - 
     11111000 
    进一步观察,可以发现可分拆为100000000 = 11111111 + 1,所以上面的式子可以拆成两个: 
    11111111 
    -00001000 
    --------- 
     11110111取反 
    +00000001加一 
    --------- 
     11111000 
    二进制的补码两个转换步骤就是这么来的。 
    举个例子,比如-128补码的由来,先把正整数128二进制表示出来10000000求-128的补码 
    1 1 1 1 1 1 1 1 
    -1 0 0 0 0 0 0 0 
    --------- 
    0 1 1 1 1 1 1 1 
    +0 0 0 0 0 0 0 1 
    --------- 
    1 0 0 0 0 0 0 0 
    即-128的补码是10000000。8位的结构能表示的最小数是-128; 
    所以可以总结求补码的范式是这样的: 
    求n位系统的一个数正数A : 01101101101……….11101100(n位二进制),怎么求他的补码呢,就用n位的1111111111111111111…..111(n位) - 11101101101……….11101100(n位二进制) + 1 = A的补码就行啦!但是 
    如果一个1111111111111…..111111(n位全为1的正整数的补码),要用1111111111111…….11111(n+1位) - 1111111111111…..111111(n位全为1的正整数) +1 才能求的她对应的补码。 
    如uint16 A =200, uint16 B =65535,那么C =A-B; 
    65535的补码:正数65535为1111 1111 1111 1111,进行下面的计算求得B的补码即-B;先展示有补码符号位,即补码有最高位位1的; 
    1 1111 1111 1111 1111 -1111 1111 1111 1111 +1 =1 0000 0000 0000 0001,相当于被减数是10 0000 0000 0000 0000(18位) =1 1111 1111 1111 1111 +1 
    因为A和B 都是16位的无符号数,所以65535的补码最高位舍去,相当于被减数是1 0000 0000 0000 0000 =1111 1111 1111 1111 +1,即可以用上面的范式方法,但是这样-B就没有体现它的负数的符号位了;当然这是因为16位运算超出16位的位都舍去了。即-B=1;即A-B= 200+1 =201。其实也可以用模数概念解释A -B;如下图正数的模数 


    为什么正数加法也适用于二进制的补码?
    实际上,我们要证明的是,X-Y或X+(-Y)可以用X加上Y的2的补码(-Y)完成。 
    Y的二进制补码等于(11111111-Y)+1。所以,X加上Y的2的补码,就等于:X + (11111111-Y) + 1;我们假定这个算式的结果等于Z,即 Z = X + (11111111-Y) + 1。 
    接下来,分成两种情况讨论。 
    第一种情况,如果X小于Y,那么Z是一个负数。这时,我们就对Z采用补码的逆运算,就是在做一次求补码运算,求出它对应的正数绝对值,只要前面加上负号就行了。所以, 
    Z = -[11111111-Z+1] = -[11111111-(X + (11111111-Y) + 1)+1)] = X - Y;这里如果X Y Z都是无符号型的,且X < Y 那么Z 最终得到的数是|X-Y|距离的绝对值了,比如X=1,Y= 255,那么Z=2,因为从255到1只要加两次就到了。这里你不要问我为什么,这里就用到上面的模概念。 
    第二种情况,如果X大于Y,这意味着Z肯定大于11111111,但是我们规定了这是8位机,最高的第9位是溢出位,必须被舍去,舍去相当于减去吗!所以减去100000000。所以, 
    Z = Z - 100000000 = X + (11111111-Y) + 1 - 100000000 = X - Y 
    这就证明了,在正常的加法规则下,可以利用2的补码得到正数与负数相加的正确结果。换言之,计算机只要部署加法电路和补码电路,就可以完成所有整数的加法。
     

    转载于:https://my.oschina.net/u/920274/blog/3008715

    展开全文
  • 16进制补码转10进制数

    2021-01-15 16:41:27
    16进制补码转10进制数 16进制补码转10进制工具类,记下来以后就不重复写了 /** * 16进制补码转10进制数 * @param str * @return */ public static int complemwnt(String str) { int result = 0; String ...

    16进制补码转10进制数

    16进制补码转10进制工具类,记下来以后就不重复写了

    /**
     * 16进制补码转10进制数
     * @param str
     * @return
     */
    public static int complemwnt(String str) {
    		int result = 0;
    		String binaryString = Integer.toBinaryString(Integer.valueOf(str, 16));
            while(binaryString.length() < 16){
            	binaryString = "0"+binaryString;
            }
    		String binary = binaryString.substring(0,1);//取第一位判断正负
    		if ("0".equals(binary)) {
    			result = Integer.valueOf(binaryString,2);
    		}else {
    			String[] split = binaryString.split("");
    			StringBuilder builder = new StringBuilder();
    			for (String s : split) {
    			  if("0".equals(s)){
    			    builder.append("1");
    			  }else {
    			      builder.append("0");
    			  }
    			}
    			// 调用Integer.valueOf(value, 2) 将二进制转为十进制.
    			result = Integer.valueOf(builder.toString(),2);
    			// 先取负数在减1
    			result = (0 - result) - 1;
    		}
    		return result;
    		
    	}
    
    展开全文
  • 二进制补码计算器 该库包含用于计算十进制数的二进制补码的函数,反之亦然; 二进制补码表示形式既可以二进制表示,也可以十六进制表示。 这些函数支持使用-2147483648至2147483647的32位整数,因为它们使用了...
  • 十进制数读入转化为二进制补码读出 在做modelsim仿真时,我们需要读入二进制文件或十六进制数据文件才能被modelsim读取,那么如何转换十进制.txt文件呢?matlab很好的帮我们解决了这个问题,话不多说matlab源码送上...
  • 负数的二进制表示-补码

    千次阅读 2020-04-07 14:51:20
    源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJmO3U2j-1586242148015)(/images/unsigned&signed.png)] 2 负数在计算机中都是以二进制补码(Complement)形式表示和存储的 2.1 原码 一个整数,按照绝对值大小...
  • 16进制(4位)到二进制原码、反码、补码计算
  • 在线IEEE浮点二进制计算器工具 在线IEEE浮点二进制计算器工具 这是一个小计算器,旨在帮助您了解用于浮点计算的IEEE 754标准。它是用JavaScript实现的,并且可以与Chrome和Firefox的最新桌面版本一起使用。我尚未在...
  • 2进制-16进制-补码

    万次阅读 2019-07-24 11:59:08
    进制的计算 10进制 规律: 逢10进1 数字: 0 1 2 3 4 5 6 7 8 9 权(weight): 万千百十个 基数(base): 10 2进制 规律: 逢2进1 数字: 1 2 权(weight): …32 16 8 4 2 1 基数(base): 2 计算机为啥使用2进制: 2进制其设备...
  • 编程计算中常用到16进制,8进制,2进制的加减乘除运算,这里搜集了几个不错的进制计算器: 1)16进制加法,减法,乘法,除法在线计算器 在16进制计数中,A=10,B=11,C=12,D=13,E=14,F=15。 例如:A+B=10H+5H=21(dec)=...
  • 二进制(原码、反码、补码)

    万次阅读 多人点赞 2018-11-09 09:01:23
    在计算机二进制系统中,位,简记为b,也称为比特(bit),每个二进制数字0或1就是一个位(bit),其中每 8bit = 1 byte(字节);  Java 中的int数据类型占4个byte(字节),而1 byte(字节) = 8 bit(位);(说白了,在...
  • 今天看了java中的二进制操作,突然发现本科上电路课程的时候就没有理解计算机采用补码存储二进制数的原因,以及补码的推导。这次算是补课了。 1 补码的概念 正数的补码是其本身 负数的补码:原码-&gt;...
  • 首先,计算机都是使用二进制补码进行计算。   1、正数的二进制原码、反码、补码都是相同的   2、负数的二进制原码:先计算该负数绝对值的二进制。之后对其每个数“取反”,然后加一。 比如-32 第一步:32...
  • 本实验要求设计一个能够实现补码加法、加 1、左移、右移、直接传送等功能的四位补码运算器,图 1 为四位补码运算器的电路框图,图中,移位器具有左移、右移和直接传送功能。 实验时,图 1 中的 R0、R1、R2 四位...
  • 计算器转成十进制后是下面这个值: 然后我就纳闷了,Integer的最小值,不可能怎么大吧? 于是果断写代码验证: 谜底揭开: 0x80000000 是Integer的最小值,不过存储的是补码的形式,这个特殊的值,按照...
  • 一个数以补码的形式存于计算机中,先将机器码转化为十进制的数,包括正数和负数,但考虑整数
  • ​ 我们知道 1字节 (byte) = 8 位(bit)(即8位二进制,如:11111111)、1024个字节 = 1 K 、1024 K = 1M ​ 所以,一字节可以表示的范围就有 0 ~ 256 (无符号数),而有符号数表示的范围则是: -128 ~ 127 ​ 有...
  • 有符号16进制计算器

    千次阅读 2020-06-29 10:42:58
    16进制补码有符号计算器 用途:计算机里面的数据是用补码储存的,且这里仅仅适用于32位字节的16进制有符号计算,如0x12345678+0x0. 直接输入要运算的16进制有符号补码(0x等前缀,随便你带不带)。若要增加功能,...
  • 计算机中原码、反码、补码 正数的 原码 = 反码 = 补码 负数 反码 = 数的绝对值按位取反(最高位符号位除外)  补码 = 反码 +1 已知负数补码求原码 补码取反(最高位符号位不取反...二进制原码最大为0111111111111111=2
  • C语言实现二进制运算器

    千次阅读 2019-04-26 23:02:44
    先将输入的两个二进制数转换成十进制,然后再进行相应的运算,最后将结果转换成二进制的形式打印。 运行逻辑示意图 函数调用示意图 源码: #include <stdio.h> #include <string.h> #include <...
  • 这是一个模拟计算机进行加法和数的原码、反码,补码的分析工具。我希望这个工具能对需要它的人有所帮助,所以决定通过GNU General Public License发布这个自由软件。我使用的编译环境是VS2010Express。如有问题可以...
  • 进制在逆向的基础知识也是占重要的一环的,学好了进制无疑在逆向这一块不会感到一大串字符/字符串带给自己的迷茫,甚至不会被刚刚接触脱壳,反编译等看到头晕,还有很多…我就不一一细讲,反正学好进制对逆向来说...
  • 二进制换算成八进制、十进制、十六进制一、介绍:二、二进制转十进制计算二进制数转十进制的方法:(1)计算二进制数 0101 0101转十进制。(2)计算二进制数 1000 0101 转十进制:三、二进制转八进制计算二进制数转...
  • 比如什么是原码,反码,补码。什么是位运算这里给大家推荐几个参考链接: http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html http://blog.csdn.net/is_zhoufeng/article/details/8112199...
  • 8位二进制计数器vhdl源程序及原理图,波形,源代码。
  • 二进制负数用补码表示的原因

    千次阅读 2010-10-21 08:14:00
    为了使得无论是无符号数还是符号数,都可以使用同样的加法减法规则,符号数中的负数用正数的补码表示。  假设CPU的字长是16位。我们都知道-1 + 1 =0,而0x0001表示1,那么-1用什么来表示才能使得-1 + 1 =0呢?...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,420
精华内容 568
关键字:

二进制补码计算器