我想知道是否有一种方法可以使用按位运算符屏蔽 int 值列表,并使用该掩码来了解 int 值是否是掩码中的值之一。
即,如果我有值 129 和 17,如何计算一个掩码,告诉我掩码中是否有一个 int 值对应(如果 int 值是 129 或 17)。
我希望通过下一个伪代码更好地理解我的问题。
* *编辑:我想仅在一个值(掩码)中打包、屏蔽或“压缩”一个 int 数组,然后只接受要屏蔽的值列表中的值(数组)。
可能吗?提前致谢。
valuesToMask = [17, 129, ...]
mask = getmask(valuesToMask)
lstValues = [0,1, 10, ..., 17, 18, 19, ..., 129, ...]
foreach(int value, in lstValues) {
if(check(mask,value))
printf("\nValue %d is in the mask", value);
else
printf("\nValue %d is not in the mask", value);
}
提前致谢。我非常感谢您的帮助和您的时间。
(对不起我的英语不好)