Java中移位运算符的使用代码示例
时间: 2024-09-09 14:02:16 浏览: 49
在Java中,移位运算符用于移动二进制数的位。主要有三种类型的移位运算符:左移(<<)、右移(>>)和无符号右移(>>>)。以下是它们的一些基本用法:
1. 左移运算 (`<<`):
```java
int num = 5; // 二进制表示为00000101
int shiftedNum = num << 2; // 将num的每位向左移动两位
System.out.println(shiftedNum); // 输出40,二进制为0000101000
```
2. 右移运算 (`>>` 和 `>>>`):
- **有符号右移** (`>>`):
```java
int signedNum = -10; // 二进制为111111111111111111111111111010
int shiftedSigned = signedNum >> 1; // 向右移动一位,最高位补0(符号位)
System.out.println(shiftedSigned); // 输出-5,因为符号位不变
```
- **无符号右移** (`>>>`): 将数字看作无符号整数进行右移,高位填充原来的最低有效位(相当于除以2取余操作):
```java
int unsignedNum = 255; // 二进制为00000000000000000000000011111111
int shiftedUnsigned = unsignedNum >>> 1;
System.out.println(shiftedUnsigned); // 输出127,二进制为00000000000000000000000001111111
```
阅读全文