菜鸟求各位帮忙解答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 得出
谢谢各位!!
[解决办法]
全部枚举计算出来,然后去查.
01A2B3A|B4C5A|C6B|C7A|B|C8D9A|D10B|D11A|B|D12C|D13A|C|D14B|C|D15A|B|C|D1617