整数的运算

无符号数加法

对满足0 =< x, y<2w的x和y有:

例如:无符号数65535 + 1 为10000000000000000,由于超过16位,所以截断后0~15位都是0,因此结果为0

补码加法运算

补码加法运算就是先按照无符号加法进行运算,而后在进行无符号和有符号的转换

   

对满足 -2w-1  <= x,y <= 2w-1-1的整数x和y, 有

 

例如:-35768 + (- 1)要先把两个数转换为无符号数,进行运算后再转为有符号数

无符号数乘法

将一个无符号数截断为w位等价于计算该值摸2w

补码乘法

将一个补码数截断为w位相当于先计算该值摸2w,再把无符号数转换为补码

乘以常数

左移一个数值等于执行一个与2的幂相乘的无符号乘法,低位补0

除以常数

除以 2 的幂可以用向右移位来运算,无符号除法使用逻辑移位,补码除法使用算术移位

猜你喜欢

转载自www.cnblogs.com/zzdbullet/p/9618051.html