1.1.1 无符号整数加法
假设x,y都是比特位为w的无符号整数,那么x和y分别可以表示为,
0 <= x < 2w,0 <= y < 2w,0 <= x+y < 2w+1 ,x+y的结果需要 w+1位来表示。如果只有w位来表示两个无符号整数的和,那么当 x+y的结果大于2w时,只能进行截断。截断的方法是 (x+y) mod 2w , 即只保留x+y的w位。
例如:
unsigned short x = 65532;
unsigned short y = 64223;
x , y , x + y 的比特位表示如下,因为unsigned short只有16位,所以x+y的结果是丢弃第17位,只取剩下的16位,即x+y = 64219。
1.1.2 有符号整数的加法
在计算机中,用2的补码来表示有符号整数的。两个有符号整数的加法规则是:
1、把每一个有符号整数的补码表示看做是一个无符号数
2、对这两个无符号数做加法运算。
将2中所得的无符号数转换为2的补码表示。