我根本不明白作者对此练习的意义。特别是关于如何构建两个常量的部分。
有人可能会举一个例子或进一步解释一下吗?
“编写一个带有两个常数值的程序,一个具有交替的二进制1和0,在最低有效数字中为零,第二个也是交替,在最低有效数字中有一个(提示:它是最简单的方法是使用十六进制常量。使用按位运算符取这两个值并以所有可能的方式组合它们,并使用Integer.toBinaryString()显示结果“
编辑(我的解决方案):
这是对的吗?
public class BitwiseOperators {
public static void main(String[] args) {
int bit1 = Integer.parseInt("10101010", 2);
int bit2 = Integer.parseInt("01010101", 2);
System.out.println(Integer.toBinaryString(bit1 & bit2));
System.out.println(Integer.toBinaryString(bit1 ^ bit2));
System.out.println(Integer.toBinaryString(bit1 | bit2));
System.out.println(Integer.toBinaryString(bit1 << bit2));
System.out.println(Integer.toBinaryString(bit1 >> bit2));
}
}
答案 0 :(得分:2)
例如,您可以将这两个常量定义为
int a = Integer.parseInt("10101010", 2);
int b = Integer.parseInt("01010101", 2);
然后你可以对这两个使用按位运算并显示结果
Integer.toBinaryString( )
。
// sample bitwise operation
int c = b & a;