帮我找几个关于位运算的java习题
时间: 2023-03-20 17:01:22 浏览: 120
当然,以下是几个关于位运算的Java编程练习题:
1. 给定两个整数,编写一个函数来计算它们的和。但不能使用运算符 + 和 -。
```java
public int getSum(int a, int b) {
while (b != 0) {
int carry = (a & b) << 1;
a = a ^ b;
b = carry;
}
return a;
}
```
2. 编写一个函数,判断一个整数是否是2的幂次方。
```java
public boolean isPowerOfTwo(int n) {
if (n <= 0) {
return false;
}
return (n & (n - 1)) == 0;
}
```
3. 给定一个数组,其中有一个数字只出现了一次,其他数字都出现了两次。找出那个只出现一次的数字。
```java
public int singleNumber(int[] nums) {
int result = 0;
for (int num : nums) {
result ^= num;
}
return result;
}
```
4. 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
```java
public int singleNumber(int[] nums) {
int result = 0;
for (int num : nums) {
result ^= num;
}
return result;
}
```
5. 给定一个整数,编写一个函数将它转换为无符号整数。
```java
public int toUnsignedInt(int num) {
return num & 0x7fffffff;
}
```
这些题目涵盖了位运算的不同应用场景,可以帮助你更好地理解和掌握位运算的相关知识。
阅读全文