今天被坑1个多小时了,简单记录下,位移的一些坑:
1、首先负数的位移,符号位(最高位)的表现根据具体编译器和机器的不同而有不同表现,使用负数位移时应该重视,建议还是无符号数位移。
2、今天被坑的:当位移的位数大于(大于等于)数字的位数时,位移实际位数可能会进行求模运算。例如对一个32位的无符号数位移32位,实际的
位移可能是32%32=0,既没有发生位移,今天就被坑了。。。。。因此位移如果会大于最高位,还是判断下吧,自己搞0得了。。。
今天被坑1个多小时了,简单记录下,位移的一些坑:
1、首先负数的位移,符号位(最高位)的表现根据具体编译器和机器的不同而有不同表现,使用负数位移时应该重视,建议还是无符号数位移。
2、今天被坑的:当位移的位数大于(大于等于)数字的位数时,位移实际位数可能会进行求模运算。例如对一个32位的无符号数位移32位,实际的
位移可能是32%32=0,既没有发生位移,今天就被坑了。。。。。因此位移如果会大于最高位,还是判断下吧,自己搞0得了。。。