本文共 821 字,大约阅读时间需要 2 分钟。
整数的位可以取反以获得另一个数字。一个例子如下:Number = 11
Binary representation = 1011
Reversed binary representation = 1101
Reversed number = 13
演示此的程序如下所示-
示例public class Example {
public static void main(String[] args) {
int num = 14;
int n = num;
int rev = 0;
while (num > 0) {
rev <<= 1;
if ((int)(num & 1) == 1)
rev ^= 1;
num >>= 1;
}
System.out.println("The original number is: " + n);
System.out.println("The number with reversed bits is: " + rev);
}
}
输出结果The original number is: 14
The number with reversed bits is: 7
现在让我们了解上面的程序。
编号已定义。然后使用while循环来反转数字的位。证明这一点的代码片段如下所示-int num = 14;
int n = num;
int rev = 0;
while (num > 0) {
rev <<= 1;
if ((int)(num & 1) == 1)
rev ^= 1;
num >>= 1;
}
最后,显示数字以及反向数字。证明这一点的代码片段如下所示-System.out.println("The original number is: " + n);
System.out.println("The number with reversed bits is: " + rev);
转载地址:http://xgeav.baihongyu.com/