补码如何运算

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:36:58
拜托 详细点
我是菜菜
拜托
详细点····

求补码运算要有区别的:
1 对于正数
其原码=补码
2 对于负数
写出其原码来,然后按位取反(符号位除外,符号位为最高位),然后加1,即可。
比如 对于32位字的 -8
其原码 1000 0000 0000 0000 0000 0000 0000 1000
取反 1111 1111 1111 1111 1111 1111 1111 0111
+1 1111 1111 1111 1111 1111 1111 1111 1000

  补码的运算:
  一、补码加法
  [X+Y]补 = [X]补 + [Y]补
  例:X=+0110011,Y=-0101001,求[X+Y]补
  [X]补=00110011 [Y]补=11010111
  [X+Y]补 = [X]补 + [Y]补 = 00110011+11010111=00001010
  注:因为计算机中运算器的位长是固定的,上述运算中产生的最高位进位将丢掉,所以结果不是100001010,而是00001010。
  二、补码减法
  [X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
  其中[-Y]补称为负补,求负补的方法是:负数的绝对值的原码所有位按位取反;然后整个数加1。
  例:1+(-1) [十进制]
  1的原码00000001 转换成补码:00000001
  -1的原码10000001 转换成补码:11111111
  1+(-1)=0
  00000001+11111111=00000000
  00000000转换成十进制为0
  0=0所以运算正确。
  三、补码乘法
  设被乘数【X】补=X0.X1X2……Xn-1,乘数【Y】补=Y0.Y1Y2……Yn-1,
  【X*Y】补=【X】补×【Y】补,即乘数(被乘数)相乘的补码等于补码的相乘。

补码如何运算?

和普通的二进制数,的计算方法,完全相同。