2

私はそれをグーグルで検索しましたが、ほとんどのチュートリアルは不可解です。誰かが私に教えたり、リソースを教えてくれたりできますか? 私はPHPのバックグラウンドを持っています。

4

2 に答える 2

4

それを何に使用しているかのコンテキストが重要です。

8 つのブール オプションのセットがあるとします。それらを opt1 から opt8 と呼びましょう。何らかの理由で、これらすべてのオプションを 1 つの 8 ビット値に格納しています。これは通常やりたいことではありませんが、特に既存のシステムや API とのインターフェースに使用できることは間違いありません。

したがって、バイナリで表された次の 8 ビット (1 バイト) の数値があります。

10010011

各ビットは、次の順序で特定のオプションに対応します。

87654321

ここまで私と?それでは、いくつかの基本的な論理演算子に入りましょう。ブール値を考えてください。の場合true OR true、 が得られtrueます。の場合true AND true、 が得られtrueます。true AND falsefalse になると。ビット単位の演算子でも同じことができます。

試してみましょう10010011 OR 11111111。基本的に、論理演算子を少しずつ実行し、結果を取得し11111111ます。

なぜこれが役立つのですか?1 か所だけの値を取得したい場合は、オプション 7 を選択するとします10010011 AND 01000000。最終的に、その 1 つのオプションのみを表す数値になります。(もちろん、数値の 1 または 0 が必要な場合は、適切な桁数で割る必要があります。

これには多くのアプリケーションがあります。どのように使用するかは、必要なものによって異なります。

これに関するウィキペディアの記事は悪くありません: http://en.wikipedia.org/wiki/Mask_(computing )

于 2011-11-09T04:20:22.177 に答える
1

このページは、実際にはたくさんの例を含むかなり良いイントロのようです

http://php.net/manual/en/language.operators.bitwise.php

于 2011-11-09T04:14:44.397 に答える