2009-07-03 3 views
1

ここは簡単な質問です。業界では、mulitpleブール値状態を1つの整数に格納することについてどのように参照していますか?

mulitpleブール値の状態を1つの整数に格納することについて、業界はどのように参照していますか?

SetWindowPos APIは例です。

 
SWP_NOSIZE   DEFINE 1 
SWP_NOMOVE   DEFINE 2 
SWP_NOZORDER  DEFINE 4 
SWP_NOREDRAW  DEFINE 8 
SWP_NOACTIVATE  DEFINE 16 

整数11を1、2及び8(SWP_NOSIZESWP_NOMOVESWP_NOREDRAW)である場合には、上にあります。

このパターンの流行語は何ですか?

答えて

12
+0

+1何も、それ以下はありません。 – ralphtheninja

+0

ハイフネーションされていない場合を除きます。 – Nosredna

7

彼らはフラグですので、私はいつも、この「ビットフラグ」と呼ばれている、とビットあたり1つのフラグがあります。私はあまりにも「フラグ」を好む方法を標準...

+0

これは私の一般的な場合に適しています。 "ビットフィールド"は、ビットが機械語に収まる場合にのみ使用する必要があります(そうでなければ "ビット配列"があります)。 – Nosredna

+0

私は "フラグ"も好きです – azheglov

+0

フィールドは、3状態と4状態のデータ(およびより大きな組み合わせ)を保持するためにビットをペアリングすることがあるので、より良いです。 – jmucchiello

1

保証することはできませんが、これは、かなり標準的なようです。この用語は、2の累乗がORされている多くの場所で一貫して使用されています(例:.NETのSystem.Reflection.BindingFlagsなどがあります)。

「ビットフィールド」という用語は、特定の意味を持ちます。上記の例では構造体がありません。プログラマは代わりに整数を使うことにしました。

関連する問題