Java位移运算符,左移运算符(<<),有符号右移运算符(>>),无符号右移运算符(>>>)

it2026-01-08  7

位移运算符操作的对象是二进制的位,可以用位移运算符来处理int型整数。

public static void main(String[] args) { int x = 15; //1111 int y = 3; System.out.println(x<<y); //结果为120,1111000 System.out.println(x>>y); //结果为1,0001 System.out.println(x>>>y); //结果为1,0001 }

左移运算符(<<) 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)

"有符号"右移运算符(>>) "有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.

"无符号"右移运算符(>>>) "无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.

public static void main(String[] args) { int x = -15; int y = 3; System.out.println(x<<y); //结果为-120 System.out.println(x>>y); //结果为-2 System.out.println(x>>>y); //结果为536870910 }

最新回复(0)