Advertisement

有符号数加减法与无符号数加减法

阅读量:

文章目录

    • 一、关于补码的定义与应用
      • 二、带符号数值的加法运算
      • 三、带符号数值的减法运算
      • 四、不带符号数值的加减运算

一、补码概念与应用

  1. 补码转换为原码:正数的表示方式保持一致;负数的补码与原码之间的转换过程具有对称性。
  2. 补码变号操作有两种实现方式:第一种是先还原为原码,对符号位进行翻转,再重新转换为补码形式;第二种则是将所有位取反后加1。
    【例

二、有符号数加法

  1. 在表达式中,若任一操作数为无符号类型,则该运算将被视为无符号运算。只要表达式右侧存在无符号数值,整个计算过程均遵循无符号数的运算规则;
  2. 仅当表达式右侧的所有数值均为有符号类型时,运算过程中才会自动补充所需的位数,例如n+n=n+1,n*n=2n;
  3. 在n+n的运算过程中,若结果超出n+1位,则超出部分将被舍弃。
    m位与m位相加的结果为(m+1)位;
    m位与n位相加的结果也为(m+1)位(其中n < m);
    在进行m位与n位的加法运算前,必须先对两者进行符号扩展至(m+1)位。
    如果最终结果达到(m+2)位,则忽略最高位,实际结果保留为(m+1)位。

举例说明:4位二进制数6(0110)与3位二进制数-3(101)相加时,可能会产生5位的进位结果。程序会将4位的6进行符号扩

全部评论 (0)

还没有任何评论哟~