初学者求各位帮忙解答enum的位或运算的有关问题[C++]
菜鸟求各位帮忙解答enum的位或运算的问题[C++]
enum Key
{
A = 1, B=2, C=4, D=8
};
void main()
{
int val = A | B | D; //结果是11
cout<<val<<endl;
}
我想问的是, 如果我知道值为11, 通什么方法或算法,能知道这个11是 A|B|D 得出来的?
也就是说,当获得一个值为6时, 怎么知道这个值是 B|C 得出
谢谢各位!!
------解决方案--------------------
全部枚举计算出来,然后去查.
enum Key
{
A = 1, B=2, C=4, D=8
};
void main()
{
int val = A | B | D; //结果是11
cout<<val<<endl;
}
我想问的是, 如果我知道值为11, 通什么方法或算法,能知道这个11是 A|B|D 得出来的?
也就是说,当获得一个值为6时, 怎么知道这个值是 B|C 得出
谢谢各位!!
------解决方案--------------------
全部枚举计算出来,然后去查.
- C/C++ code
0 1 A 2 B 3 A|B 4 C 5 A|C 6 B|C 7 A|B|C 8 D 9 A|D 10 B|D 11 A|B|D 12 C|D 13 A|C|D 14 B|C|D 15 A|B|C|D 16 17