Java 逻辑运算符或以获取值

Java 逻辑运算符或以获取值,java,logical-operators,Java,Logical Operators,我有最终值,例如“32211120076”(数据类型为long) MONDAY(0x0002) TUESDAY(0x0004) WEDNESDAY(0x0008) THURSDAY(0x0010) FRIDAY(0x0020) SATURDAY(0x0040) SUNDAY(0x0080) 如何检查,如何获得此枚举的最终长值组合值?我知道每个值只能使用一次。 如果是这样的话,你会想在二进制中转换数字 这样做的算法是: 举个例子:11 11%2==1?是tmp=1;将11-1除以2 5%2==1

我有最终值,例如“32211120076”(数据类型为long)

MONDAY(0x0002)
TUESDAY(0x0004)
WEDNESDAY(0x0008)
THURSDAY(0x0010)
FRIDAY(0x0020)
SATURDAY(0x0040)
SUNDAY(0x0080)

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

我知道每个值只能使用一次。 如果是这样的话,你会想在二进制中转换数字

这样做的算法是: 举个例子: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

那么你是如何得到值322112007的?这意味着什么?是的,我已经想过了,但我正在处理外部数据,所以这可能是个问题。@Jonsketwell是的,但这不是一个我们可以帮助你的问题。我们可以想出可能的方法来组合val是的,但不能保证它与你真正想要的意思是一样的。