問題タブ [bitflags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
13334 参照

c++ - 列挙型はビットフラグを実装する標準的な方法ですか?

現在、小さなゲーム実験で状態を表すために列挙型を使用しています。私はそれらを次のように宣言します:

このように使用できるように:

しかし、これがビットフラグを実装する正しい方法かどうか疑問に思っています。ビットフラグ用の特別なコンテナはありませんか? について聞いたことstd::bitsetがありますが、これを使用する必要がありますか? より効率的なものを知っていますか?
私はそれを正しくやっていますか?


列挙型の基本演算子をオーバーロードしていたことを指摘するのを忘れていました。

に C スタイルのキャストを使用する必要がありましたが、|=a では機能しませんでしたstatic_cast

0 投票する
1 に答える
518 参照

c# - ORed フラグから値を取得する方法

CreateFileAを扱っていると仮定します

私は持っている

したがって、読み書きが必要な場合は私が行うことを意味します

どのフラグが含まれているかを知るために、API はその OR 操作をどのように逆にするのでしょうか? 言い換えれば、「0C0000000h」という値を取得したと仮定し、それに含まれるアクセスを知る必要があります。この番号に対してどのような操作を行う必要がありますか?

私の要点は、約 100 個のフラグがあり、それらを ORed/ANDed すると、複雑な数値になってしまうということです。その数値を構成するために使用されたフラグを取得するにはどうすればよいでしょうか?

0 投票する
2 に答える
1808 参照

php - PHP ビット フラグの処理

インスタンスをテーブル行に出力するメソッドを持つ PHP クラスがあります。先頭に名前を付けずに行を印刷したい場合もあれば、すべての行項目を印刷したい場合もあります。

コードを読みやすくするためにビット フラグを使用することにしましたが、フラグの扱いがひどいようです。ビット フラグを使用するのはこれが初めてです。

クラスの先頭で次のようにフラグを定義しました。

フラグを使用する関数は次のようになります。

ご覧のとおり、BAT_TABLE_ROW_ALLが設定されている場合、すべてのオプションが計画どおりに実行されます。

問題は、何らかの理由で別のフラグを追加する場合 (したがって、それを 8 に設定し、ALL を 15 に設定する - 現状では些細なことですが)、関数全体を書き直さなければならないことです。これは正しくありません。

上記の関数を記述するためのより良い方法はありますか?フラグ定義を更新してから、関数に追加のフラグ実行を追加するだけです?

0 投票する
1 に答える
447 参照

c# - 列挙型で FlagsAttribute を使用できない (シンボル 'HasFlag' を解決できません)

私は c# で asmx Web サービスを使用しており、最近FlagsAttribute列挙型に非常に役立つことを発見しました。私の宣言は次のとおりです。

次に、次のように列挙型をテストします。

ただし、HasFlag最後の行の一部が赤く強調表示されていますシンボル 'HasFlag'を解決できず、コードがコンパイルされません。理由はありますか?