我有最终值,例如“322112007”(数据类型长)。我有一些类似的例子
MONDAY(0x0002)TUESDAY(0x0004)WEDNESDAY(0x0008)THURSDAY(0x0010)FRIDAY(0x0020)SATURDAY(0x0040)SUNDAY(0x0080)
MONDAY(0x0002)
TUESDAY(0x0004)
WEDNESDAY(0x0008)
THURSDAY(0x0010)
FRIDAY(0x0020)
SATURDAY(0x0040)
SUNDAY(0x0080)
我如何检查,如何得到这个枚举的最终长值组合值?
piah890a1#
我告诉你每个值只能用一次。如果是这样的话,你应该把这个号码改成二进制。算法是:举例:1111 % 2 == 1 ? 是tmp=1;把11-1除以25 % 2 == 1? 是tmp=11;同上;2 % 2 == 1? 无tmp=110;2除以2;1 % 2 == 1? 是tmp=1101;现在反转tmp,你得到11,二进制数是1011
1条答案
按热度按时间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