编写一个类Example02_3,在main方法下输出3和4进行不同的位运算后的结果: (1)分别使用&、|、^位运算符对3和4进行位运算,并输出; (2) 对3进行按位取反操作,并输出; (3) 将3左移2位,并输出。
时间: 2024-09-12 15:03:50 浏览: 40
C_code example3
首先,我们需要理解位运算的基本概念。位运算符用于对整数类型的数据进行按位运算。以下是一些基本的位运算符:
1. `&`:按位与运算,两个操作数的每一位进行逻辑与运算。
2. `|`:按位或运算,两个操作数的每一位进行逻辑或运算。
3. `^`:按位异或运算,两个操作数的每一位进行逻辑异或运算。
4. `~`:按位取反运算,将操作数的每一位进行逻辑非运算。
5. `<<`:左移运算符,将操作数的二进制表示向左移动指定的位数,右边空出的位用0填充。
6. `>>`:右移运算符,将操作数的二进制表示向右移动指定的位数,左边空出的位根据符号位填充。
现在,让我们编写一个`Example02_3`类,并在其中的`main`方法中进行相应的位运算:
```java
public class Example02_3 {
public static void main(String[] args) {
int a = 3; // 二进制表示为0000 0011
int b = 4; // 二进制表示为0000 0100
// (1)进行&、|、^位运算
int andResult = a & b; // 0000 0011 & 0000 0100 = 0000 0000 (结果为0)
int orResult = a | b; // 0000 0011 | 0000 0100 = 0000 0111 (结果为7)
int xorResult = a ^ b; // 0000 0011 ^ 0000 0100 = 0000 0111 (结果为7)
// 输出结果
System.out.println("3 & 4 的结果是:" + andResult);
System.out.println("3 | 4 的结果是:" + orResult);
System.out.println("3 ^ 4 的结果是:" + xorResult);
// (2)对3进行按位取反操作
int notResult = ~a; // ~0000 0011 = 1111 1100 (结果为-4,因为Java是补码表示)
// 输出结果
System.out.println("~3 的结果是:" + notResult);
// (3)将3左移2位
int shiftLeftResult = a << 2; // 0000 0011 << 2 = 0000 1100 (结果为12)
// 输出结果
System.out.println("3 << 2 的结果是:" + shiftLeftResult);
}
}
```
这段代码定义了一个`Example02_3`类,其中的`main`方法创建了两个整数变量`a`和`b`,分别代表数字3和4。然后进行了按位与、按位或、按位异或、按位取反和左移运算,并将结果打印输出。
阅读全文