我有最终值,例如“322112007”(数据类型长)。我有一些类似的例子
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