C# 二进制数使用按位与运算(&)来获取子集选中的值。
需求:
现在有一个二进制数整集 all,一个子集 sub,要求根据整集的值获取子集被选中的值是多少?
//假设完整值是 15 ,1 2 4 8 的和
int all = 15; //1 2 4 8 的和
int sub = 7; //1 2 4 的和
int result = all & sub; //输出7,选中1 2 4
int all = 11; //1 2 8 的和
int sub = 7; //1 2 4 的和
int result = all & sub; //输出3,选中 1 2
结论:使用给定的值&子集的全值 就可以得到子集在全集中被选中的值的总和