前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java的位运算符(二)

Java的位运算符(二)

原创
作者头像
玖叁叁
发布2023-05-06 10:42:01
1510
发布2023-05-06 10:42:01
举报
文章被收录于专栏:玖叁叁

左移运算符(<<)

左移运算符(<<)用于将一个操作数的所有二进制位左移指定的位数,并在低位填充0。左移运算符的语法如下:

代码语言:javascript
复制
int result = operand << shiftCount;

其中,operand表示要进行左移运算的操作数,shiftCount表示要左移的位数。以下是左移运算符的示例:

代码语言:javascript
复制
int a = 10;  // 1010
int b = a << 2;  // 101000
System.out.println(b);  // 输出40

在这个示例中,我们定义了一个整数变量a,并将它的值设置为10。然后我们使用左移运算符(<<)将a的二进制数左移两位,并将结果存储在变量b中。由于左移两位相当于将10乘以2的2次方(即40),因此结果为40。

右移运算符(>>)

右移运算符(>>)用于将一个操作数的所有二进制位右移指定的位数,并在高位填充符号位。如果操作数是正数,则在高位填充0;如果操作数是负数,则在高位填充1。右移运算符的语法如下:

代码语言:javascript
复制
int result = operand >> shiftCount;

其中,operand表示要进行右移运算的操作数,shiftCount表示要右移的位数。以下是右移运算符的示例:

代码语言:javascript
复制
int a = 10;  // 1010
int b = a >> 2;  // 10
System.out.println(b);  // 输出2

在这个示例中,我们定义了一个整数变量a,并将它的值设置为10。然后我们使用右移运算符(>>)将a的二进制数右移两位,并将结果存储在变量b中。由于右移两位相当于将10除以2的2次方(即2),因此结果为2。

无符号右移运算符(>>>)

无符号右移运算符(>>>)用于将一个操作数的所有二进制位右移指定的位数,并在高位填充0。无符号右移运算符不考虑符号位,因此无论操作数是正数还是负数,在高位都填充0。无符号右移运算符的语法如下:

代码语言:javascript
复制
int result = operand >>> shiftCount;

其中,operand表示要进行无符号右移运算的操作数,shiftCount表示要右移的位数。以下是无符号右移运算符的示例:

代码语言:javascript
复制
int a = -10;  // 11111111111111111111111111110110
int b = a >>> 2;  // 00111111111111111111111111111101
System.out.println(b);  // 输出1073741821

在这个示例中,我们定义了一个整数变量a,并将它的值设置为-10。由于a是负数,因此在进行无符号右移运算时,在高位填充的是0而不是1。我们使用无符号右移运算符(>>>)将a的二进制数右移两位,并将结果存储在变量b中。由于右移两位相当于将原数除以2的2次方(即1073741824),因此结果为1073741821。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 左移运算符(<<)
  • 右移运算符(>>)
  • 无符号右移运算符(>>>)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档