私はMySQLでBitwiseを使う必要があると思います。BITWISEと混同して、私はMySQLを使用しています
しかし、私は
SELECT 29 | 15;
戻り
31
http://dev.mysql.com/doc/refman/5.0/en/bit-functions.html
と困惑している私は、ビット単位について理解できるか読んでてきたが、私は迷ってしまいました。
私はMySQLでBitwiseを使う必要があると思います。BITWISEと混同して、私はMySQLを使用しています
しかし、私は
SELECT 29 | 15;
戻り
31
http://dev.mysql.com/doc/refman/5.0/en/bit-functions.html
と困惑している私は、ビット単位について理解できるか読んでてきたが、私は迷ってしまいました。
まあ、29では、ビット16,8,4,1が設定されています。
15で、ビット8,4,2,1が設定されます。
"xまたはy"(|)は、 "xまたはyまたは両方に設定されたすべてのビットを設定する"ことを意味します。
だから、29 |図15では、ビット16,8,4,2,1が全て設定されている。
16 + 8 + 4 + 2 + 1 = 31
これは、あなたの質問にお答えしていますか?
部分的に、私は数字の中で少しを見たいと思ったらどうしたのですか? – Jules
"この番号はこの番号に設定されていますか"を意味しますか?なぜ、あなたは 'と'を使うでしょう:(x&4)。ビット4がセットされている場合は4が返され、そうでない場合は0が返されます。これは、4ではビット4のみが設定され、それ以外のビットはセットされず、x&yは " 「xとyの両方」。 (2)が15と2の両方で設定されている唯一のビットであるため、(15&2)は2を返します。一方、(29&2)は0を返します。 29と2の両方に設定されています。 –
ええと、それはフィールド&16を選択する数字の中で16を探していましたか?だからこれをさらに進めると、値が32になるまでフィールド値は16を返します。なぜなら、使用される数値が高いほどこの点までは16になるからです。 – Jules
それは(あなたがバイナリ演算を行う場合)
11101 OR 01111 = 11111 = 31 in decimal
11101
は、小数点29
と01111
のバイナリ表現であるのと同じですが、小数点15
のバイナリ表現で提案
待ち、あなたはどのようにビット演算子の仕事を頼みますか? – Bobby
私は知っている、私はなぜそれが "マスク"と呼ばれる瞬間の前に戻ることができることを望む:) –