ビットマスクを使用してブール値を格納する方法について読んだ後、ちょっと混乱します。私はブール値のセットを持っていて、その値の組み合わせごとにユニークな整数を生成したいと思います。bitmasksを使用してブール値をJavaScriptに格納する方法
function getInt(x, y, z) {
var value = a
if (x) value = value | b
else value = value^b
if (y) value = value | c
else value = value^c
if (z) value = value | d
else value = value^z
return value
}
すべて:私は「ない」場合に対処することになっていた場合、私はこの線に沿って、わからない、
var a = 1 << 1
var b = 1 << 2
var c = 1 << 3
var d = 1 << 4
var uniqueint1 = getInt(true, false, false)
var uniqueint2 = getInt(true, true, false)
var uniqueint3 = getInt(true, true, true)
// ...
function getInt(x, y, z) {
var value = a
if (x) value = value | b
if (y) value = value | c
if (z) value = value | d
return value
}
しかし、問題は次のとおりです。ここでは、これまでに現在のシステムがあります私が知っているのは、|
、&
、および^
がビットマスクに関連していて、ブール値がvar yes = value & b
のビットマスクに含まれているかどうかを知っていますが、ビットマスクを生成して両方を処理する方法が混乱していますif(真)とif(偽)の場合です。もし私が^
をどこかに使っていなければならないのか、それとも私が間違っているのか分かりません。お知らせ下さい。ありがとうございました!
にあなたのコードを簡素化することができますか?それはちょうど否定された形の「はい」ではないでしょうか?私はまた、bitwise xor演算子を使って何をもたらすのだろうかと思います。 –