逻辑运算符OR获取值

时间:2016-05-10 10:39:40

标签: java logical-operators

我有最终值,例如“ 3221120076 ”(数据类型为long)。我有一些像

这样的枚举
MONDAY(0x0002)
TUESDAY(0x0004)
WEDNESDAY(0x0008)
THURSDAY(0x0010)
FRIDAY(0x0020)
SATURDAY(0x0040)
SUNDAY(0x0080)

我如何检查,如何获得结合此枚举值的最终长值?

1 个答案:

答案 0 :(得分:1)

我认为你只能使用每个值一次。 如果是这样的话,你可以把数字变成binairy。

这样做的算法是: 例如:11

11%2 == 1?是的tmp = 1;并将11-1除以2

5%2 == 1?是的tmp = 11;与上述相同;

2%2 == 1?没有tmp = 110;将2除以2;

1%2 == 1?是的tmp = 1101;

现在反转tmp你在binairy得到11是1011