位移运算
- java中位移运算符分为左位移 << 和右位移 >>
- 左移运算符表示将整数的二进制向左移动指定位数k,同时右边用0补充(即在右边加k个0)
- 右移运算符表示将整数的二进制向右移动指定位数k(即从右至左去掉k位数)
- 最简单的:1在二进制中表示为0001,将0001向左移动1位得到0010,0010转为十进制为2,即1<<1的结果是2
例子
int x = 10; // x 的二进制表示是 1010
int y = x << 1; // y 的二进制表示是 10100,十进制是 20
int z = x >> 1; // z 的二进制表示是 101,十进制是 5
常见用法
快速计算 2 的幂:例如,如果你想计算 2 的 8 次幂,你可以使用表达式 1 << 8。
快速除以 2 的幂:例如,如果你想将整数 x 除以 2^k,你可以使用表达式 x >> k。