Java 中的移位运算符主要有三种:左移运算符()和无符号右移运算符(>>>)。
以下是这些运算符的用法详解:
1、左移运算符( numBits;
其中,value
是要进行右移操作的整数,numBits
是要移动的位数。
例如:
int a = 20; // 二进制表示为 0001 0100
int b = a >> 2; // 右移 2 位,得到 0000 0101,即十进制的 5
3、无符号右移运算符(>>>)
无符号右移运算符将操作数的二进制表示向右移动指定的位数,左侧用 0 补充,不考虑符号位。它的基本语法是:
result = value >>> numBits;
其中,value
是要进行无符号右移操作的整数,numBits
是要移动的位数。
例如:
int a = -20; // 二进制表示为 1110 1100
int b = a >>> 2; // 无符号右移 2 位,得到 0011 1011,即十进制的 59
请注意,Java 中的移位运算符只适用于整数类型(如 int
和 long
)。
在使用移位运算符时,需要确保移位的位数不超过操作数类型的位数(例如,int
类型为 32 位,long
类型为 64 位)。