二进制的补码怎么算?

2025-01-05 06:09:13
推荐回答(5个)
回答1:

-85负就是1,然后计算正85:+85的原码(1010101)→按位取反(0101010)→加1(0101011)
10101011(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
  【例2】求-7的补码。
  因为给定数是负数,则符号位为“1”。
  后七位:+7的原码(0000111)→按位取反(1111000)→加1(1111001)
  所以-7的补码是11111001。

回答2:

在计算机系统中,数值,一律采用补码表示和存放。


计算机中,不没有原码和反码。


所以,只要掌握“数值与补码”的转换就可以了。


补码,其实,就是一个“代表负数参加运算”的正数。


用补码代替负数,计算机中,就没有负数了。


同时,在计算机中,也就没有减法运算了。


那么,计算机,只需一个加法器,就可以吃遍天下了。


------------------


补码(一个正数),它怎么就能代替负数呢?


用 10 进制说明,比较容易理解。比如:


   25 - 1 = 24


   25 + 99 = (一百) 24。


如果你只取 2 位数,超出 2 位的进位,你把它舍弃!


那么,+99,是不是就和-1,是等效的?


同样,+98 就可以代替-2。


。。。


替换关系式 : 正数 = 负数 + 10^n, 


        n 是位数。


       10^n 是 n 位数的计数周期。


----------------------


在计算机中,每次参加运算的位数,也是有限的。


在 8 位 2 进制数时,计数周期就是 2^8 = 256。


-1 就可以用 -1 + 256 = 255 代替。


即:


-1 的补码,就是 255 = 1111 1111 (二进制)。


-2 的补码,就是 254 = 1111 1110。


。。。


求补码,就这么算。


补码的来历,与原码反码,都没有任何关系。


举例,5 - 7 =-2,用八位补码计算如下:


     5 = 0000 0101


 [-7]补码  = 1111 1001


--相加------------- 


  得:  (1) 1111 1110 = [-2]补码


舍弃进位,结果,就是正确的。

回答3:

06如何快速的将二进制转换成十进制

回答4:

一分钟了解计算机与二进制

回答5:

看一下第一位是符号位,正数的补码是本身,负数的补码有一个很简单的方法,就是从最后一位数,在遇到1以前的所以零都改成1,遇到1前面的数不变。