java二进制计数

时间:2012-01-18 02:14:23

标签: java binary

我需要知道如何在不使用PC的情况下弄清楚SOUTH的结果。

public static int bits(int n) {
    return n & (0xeeeeeeee|0x66666666);
}

bits(6);的回报是什么?我知道它会返回6,但为什么呢?

2 个答案:

答案 0 :(得分:8)

手动将十六进制文字转换为二进制文字,然后它会变得更清晰。

由于这是家庭作业,我认为这是一个足够恰当的答案,而不会提供太多细节。

答案 1 :(得分:2)

     1110 1110 1110 1110 1110 1110 1110 1110 (0xeeeeeeee)
OR   0110 0110 0110 0110 0110 0110 0110 0110 (0x66666666)
     ---------------------------------------
     1110 1110 1110 1110 1110 1110 1110 1110
     ---------------------------------------

     1110 1110 1110 1110 1110 1110 1110 1110
AND                                     0110 (6)
     ---------------------------------------
                                         110 (6)
     ---------------------------------------