ビットごとの演算子を使用して int 値のリストをマスクし、そのマスクを使用して int 値がマスク内の値の 1 つであるかどうかを知る方法があるかどうか疑問に思っていました。
つまり、値が 129 と 17 の場合、int 値がマスクに対応するかどうか (int 値が 129 または 17 の場合) を示すマスクを計算するにはどうすればよいでしょうか。
私の問題は、次の疑似コードでよりよく理解できると思います。
* *編集: int 配列を 1 つの値 (マスク) だけでパック、マスク、または「圧縮」してから、マスクする値のリスト (配列) にある値のみを受け入れます。
出来ますか?前もって感謝します。
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);
}
前もって感謝します。私は本当にあなたの助けとあなたの時間に感謝します.
(私の英語でごめんなさい)