2011-11-09 7 views

答えて

4

をたっぷりとかなり良いイントロのようです。

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つの場所の価値を得たいと思ったら、おそらくopt 7としましょう。10010011 AND 01000000を行うことができます。私たちは1つのオプションだけを表す数字になります。あなたは、数値が必要な場合は(もちろん、1または0は、あなたが適切な場所値で割る必要があります。

このため、多くのアプリケーションがあります。それはあなたが必要なものにどのように依存するか、あなたが使用しています。

これに関するウィキペディアの記事は悪くない: http://en.wikipedia.org/wiki/Mask_(computing

関連する問題