<<:有符号的左移
代表着在二进制下进行左移位,a<<i,a是要移动的数,i是要移动的位数
例如3<<1,是将3先转化为32位的二进制 0000 0000 0000 0000 0000 0000 0000 0011
左移一位,低位补0,结果为6 0000 0000 0000 0000 0000 0000 0000 0110
>>:有符号的右移
代表着在二进制下进行右移位,a>>i,a是要移动的数,i是要移动的位数
例如6>>1,是将6先转化为32位的二进制 0000 0000 0000 0000 0000 0000 0000 0110
右移一位,高位补0还是1看该数字高位,0就补0,1就补1
结果为3 0000 0000 0000 0000 0000 0000 0000 0011
>>>: 无符号右移
在二进制下进行右移,同有符号右移的区别是,高位一直补0
有符号的移动计算方法:
左移:往左移几位就乘以2的几次幂
右移:往右移几位就除以2的几次幂
本文深入探讨了二进制位移操作,包括有符号的左移(<<)、有符号的右移(>>)和无符号右移(>>>)。通过实例解析了位移运算的原理,如3<<1将二进制数左移一位,而6>>1则右移一位。位移运算在计算机科学中常用于快速乘除2的幂次。了解这些基本概念对于理解底层计算至关重要。
309

被折叠的 条评论
为什么被折叠?



