java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
一、左移运算符<<
m<<n 代表把数字m在无溢出的前提下乘以2的n次方。
// 1乘以2的1次方1<<1 // 2// 1乘以2的5次方1<<5 // 32// 1乘以2的10次方1<<10 // 1024
二、右移运算符>>
右移m>>n 代表把数字m除以2的n次方,原来是正数的还是正数,负数还是负数。注意,如果是单数,也就是二进制末位为1,则结果是将m除以2的n次方的整数商。
// 1除以2的1次方1>>1 // 0// 1除以2的5次方1>>5 // 0// 10除以2的1次方10>>1 // 5// -10除以2的1次方-10>>1 // -5
三、无符号右移>>>
无符号右移运算符“>>>” - 同右移,但是结果全变正数。
把数字转换为二进制 然后进行右移一位 并变成正数
图解:
如果觉得《JAVA移位运算符-左移 右移 无符号右移 (简解)》对你有帮助,请点赞、收藏,并留下你的观点哦!