私はそれをグーグルで検索しましたが、ほとんどのチュートリアルは不可解です。誰かが私に教えたり、リソースを教えてくれたりできますか? 私はPHPのバックグラウンドを持っています。
2 に答える
それを何に使用しているかのコンテキストが重要です。
8 つのブール オプションのセットがあるとします。それらを opt1 から opt8 と呼びましょう。何らかの理由で、これらすべてのオプションを 1 つの 8 ビット値に格納しています。これは通常やりたいことではありませんが、特に既存のシステムや API とのインターフェースに使用できることは間違いありません。
したがって、バイナリで表された次の 8 ビット (1 バイト) の数値があります。
10010011
各ビットは、次の順序で特定のオプションに対応します。
87654321
ここまで私と?それでは、いくつかの基本的な論理演算子に入りましょう。ブール値を考えてください。の場合true OR true
、 が得られtrue
ます。の場合true AND true
、 が得られtrue
ます。true AND false
false になると。ビット単位の演算子でも同じことができます。
試してみましょう10010011 OR 11111111
。基本的に、論理演算子を少しずつ実行し、結果を取得し11111111
ます。
なぜこれが役立つのですか?1 か所だけの値を取得したい場合は、オプション 7 を選択するとします10010011 AND 01000000
。最終的に、その 1 つのオプションのみを表す数値になります。(もちろん、数値の 1 または 0 が必要な場合は、適切な桁数で割る必要があります。
これには多くのアプリケーションがあります。どのように使用するかは、必要なものによって異なります。
これに関するウィキペディアの記事は悪くありません: http://en.wikipedia.org/wiki/Mask_(computing )
このページは、実際にはたくさんの例を含むかなり良いイントロのようです