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

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

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

  1. MONDAY(0x0002)
  2. TUESDAY(0x0004)
  3. WEDNESDAY(0x0008)
  4. THURSDAY(0x0010)
  5. FRIDAY(0x0020)
  6. SATURDAY(0x0040)
  7. 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

相关问题