有符号数加减法与无符号数加减法
发布时间
阅读量:
阅读量
文章目录
-
- 一、关于补码的定义与应用
- 二、带符号数值的加法运算
- 三、带符号数值的减法运算
- 四、不带符号数值的加减运算
- 一、关于补码的定义与应用
一、补码概念与应用
- 补码转换为原码:正数的表示方式保持一致;负数的补码与原码之间的转换过程具有对称性。
- 补码变号操作有两种实现方式:第一种是先还原为原码,对符号位进行翻转,再重新转换为补码形式;第二种则是将所有位取反后加1。
【例
二、有符号数加法
- 在表达式中,若任一操作数为无符号类型,则该运算将被视为无符号运算。只要表达式右侧存在无符号数值,整个计算过程均遵循无符号数的运算规则;
- 仅当表达式右侧的所有数值均为有符号类型时,运算过程中才会自动补充所需的位数,例如n+n=n+1,n*n=2n;
- 在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)
还没有任何评论哟~
