java—逻辑运算符或以获取值

cuxqih21  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(355)

我有最终值,例如“322112007”(数据类型长)。我有一些类似的例子

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

我如何检查,如何得到这个枚举的最终长值组合值?

piah890a

piah890a1#

我告诉你每个值只能用一次。如果是这样的话,你应该把这个号码改成二进制。
算法是:举例: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,你得到11,二进制数是1011

相关问题