JAVA移位运算符-左移、右移、无符号右移 (简解)

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

三、无符号右移 >>>

无符号右移运算符“>>>” - 同右移,但是结果全变正数。

  • 把数字转换为二进制 然后进行右移一位 并变成正数

图解:在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43825761/article/details/127833772