二进制的算数运算

无符号数的算数运算

  1. 加法
    位数对齐,逢二进一。
  2. 减法
    位数对齐,0-1不够,十进制借位为10,二进制借位为2。
  3. 乘法
  4. 除法

有符号数的算数运算

计算机中是没有减法的,减法通过加上负数进行计算。计算机的运算都是通过补码进行运算的,将什么数都换位补码进行运算。
原码、反码、补码

  • 一个数原来的值叫做是真值
  • 原码、反码、补码最高位是符号位,剩余位数为数值位
  • 正数的原码、反码、补码相同,数值位和符合位都一样
    y=-1011---这是真值
  1. 原码:1 1011----添加符号位之后,数值位照抄
  2. 反码:数值位取反
  3. 补码:在反码的基础上加1
    02-二进制的算数运算-小白菜博客
    计算1011-0110
  • 先将两个数转换为补码
  • 1011----补码01011
  • -0110-->反码11001-->补码11010
  • 01011+11010=100101,溢出一位
  • 计算得到补码,将补码转化位为反码,再转化为原码
    计算0101-1100
  • 转化为补码,0 0101 和 1 0100
  • 计算得到1 1001,得到的是补码,符号位为1,表示负数,转化为原码,取反加一
  • 补码转变为原码,取反加一得到1 0111,-7