Java:有人可以用#4; Thinking in Java 4th edition&#34 ;?来解释这个问题。

时间:2014-07-11 19:22:50

标签: java binary hex bitwise-operators

我根本不明白作者对此练习的意义。特别是关于如何构建两个常量的部分。

有人可能会举一个例子或进一步解释一下吗?

“编写一个带有两个常数值的程序,一个具有交替的二进制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));
    }
}

1 个答案:

答案 0 :(得分:2)

例如,您可以将这两个常量定义为

int a = Integer.parseInt("10101010", 2);
int b = Integer.parseInt("01010101", 2);

然后你可以对这两个使用按位运算并显示结果 Integer.toBinaryString( )

// sample bitwise operation
int c = b & a;