1

ビット演算子&についての簡単な質問。

それを知っていx & y == zて、の値を知っていて、の値を計算する方法はありyますか?zx

4

2 に答える 2

10

xが一意であると言われた場合、いいえ、 yの任意の値に対してそれを行う方法はありません。それ以外の場合、その方程式には2 nの異なる解があります。ここで、nyのゼロビットの数です。

例として、シングルビット数を考えてみましょう。yが1の場合、xの値はz同じである必要があります(1&1 = 1; 0&1 = 0)。yがゼロの場合、zゼロになり、xは1またはゼロのいずれかになります(0&0 = 0; 1&0 = 0)。

多くのビット数では、yのゼロビットごとにxの可能な値の数が2倍になるため、2 n

于 2012-11-19T17:10:17.803 に答える
5

いいえ、簡単な例

0&0 = 0
1&0 = 0
于 2012-11-19T17:10:32.920 に答える