問題タブ [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 投票する
7 に答える
627 参照

language-agnostic - ビットフラグ値を選択するには?

オプションのセット、いくつかの直交 (任意の組み合わせで組み合わせることができます)、いくつかの排他的 (セットから 1 つだけが許可されます) があり、ビットごとに組み合わせて抽出enumできるように一連の値を選択する必要があります。orビット単位でandor-ing無効な組み合わせが検出可能になることをお勧めします。

このような生成ツールはありますenumsか?

明確にするために編集する

一部のフラグの組み合わせが無効であるという事実を利用して、使用されるビット数を減らすことができるものを探しています。エラーを検出できるという要件は緩いです。物がぐちゃぐちゃになった場合、何が使用されたかを知る必要はありません。

私は C# を使用していますが、どのソリューションも役立つはずです。

パターンの例は次のとおりです。

6つの排他的フラグと2の直交ペアを6ビットに取得します

簡単なテストでは、5 ビットで 9 つの値が得られ、6 ビットで 20 の値が得られることが示されています...

0 投票する
4 に答える
1836 参照

c++ - 列挙型ビットフィールド コンテナー クラス

C ++でビットフラグをよりよく理解するために、小さなクラスを作成しようとしています。しかし、何かがうまくいきません。間違った値を出力します。問題はどこだ?フラグを追加する方法を誤解していますか? または、ビットフィールドにそれらがあるかどうかを確認しますか?

コードは次のとおりです。

プログラムの出力:

0 投票する
6 に答える
1551 参照

c - #defined ビットフラグと列挙型 - "c" での平和的な共存

ビットフラグの楽しさを発見しました。C でのビットフラグの使用に関する「ベスト プラクティス」に関連する質問がいくつかあります。Web で見つけたさまざまな例からすべてを学びましたが、まだ疑問があります。

スペースを節約するために、構造体 ( ) で単一の 32 ビット整数フィールドを使用して、A->flagブール型プロパティのいくつかの異なるセットを表しています。全部で 20 の異なるビットが#defined です。これらのいくつかは、真の存在/不在フラグです (STORAGE-INTERNAL と STORAGE-EXTERNAL)。2 つ以上の値を持つものもあります (たとえば、相互に排他的な形式のセット: FORMAT-A、FORMAT-B、FORMAT-C)。特定のビットを設定する (同時に相互に排他的なビットをオフにする) マクロを定義しました。特定のビットの組み合わせがフラグに設定されているかどうかをテストするためのマクロも定義しました。

ただし、上記のアプローチで失われるのは、列挙型によって最もよくキャプチャされるフラグの特定のグループ化です。関数を記述する場合、関数定義が見栄えがするように列挙型 (STORAGE-TYPE や FORMAT-TYPE など) を使用したいと考えています。パラメータを渡すためにのみ列挙型を使用し、フラグの設定とテストには #defined マクロを使用することを期待しています。

  1. A->flag(a) (32 ビット/64 ビット プラットフォーム間で) 移植可能な方法でフラグ ( ) を 32 ビット整数として定義するにはどうすればよいですか?

  2. A->flag(b) 保存方法と#defined 定数と列挙型の潜在的なサイズの違いについて心配する必要がありますか?

  3. (c) 私は物事を不必要に複雑にしていますか? つまり、パラメーターを通常の s#defineとして渡すために d 定数を使用することに固執する必要がありますか? intこのすべてで、他に何を心配する必要がありますか?

わかりにくい質問で申し訳ありません。潜在的な問題についての私の無知を反映しています。

0 投票する
4 に答える
1509 参照

c++ - C++のビットフラグ列挙型

C ++でビットフラグを格納するために列挙型を使用するのは少し面倒です。列挙型の値がORされると、列挙型が失われ、明示的なキャストなしでエラーが発生するためです。

この質問に対する受け入れられた答えは、|演算子のオーバーロードを示唆しています。

このメソッドに実行時の影響があるかどうか知りたいですか?

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

javascript - javascriptでビットフラグを計算するには?

SEO用の無料ツールを書いています... seomozのAPIを実装すると、フラグは次のようになります

これらはほんの一部ですが、JavaScriptで適切なビットフラグを計算する方法がわかりません...使用したいフラグのすべての整数の単なるORですか? これらのフラグのいくつかを保持する変数を作成する方法を示す小さなスニペットは素晴らしいでしょう...

ご協力いただきありがとうございます!

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

c++ - フラグの配列に名前を付けるにはどうすればよいですか?

単純なブールフラグを維持することにより、多くのオブジェクトが状態を保持するプロジェクトがあります。これらはたくさんあるので、私はそれらをa内に維持し、uint32_tビットマスキングを使用します。追跡するフラグが非常に多いので、それらの抽象化(をラップするクラスのみuint32_t)をset()clear()などで作成しました。

私の質問:このクラスの正確で簡潔な名前は何ですか?名前だけを知っていることが何であるかを合理的に理解できるように、このクラスにどのような名前を付けることができますか?

私が持っていたいくつかのアイデア:

  • FlagBank
  • FlagArray

何か案は?

前もって感謝します!
乾杯、-
クリス

0 投票する
4 に答える
204 参照

algorithm - 2進数を使用して一意のオプションのリストをエンコードする手法の名前はありますか?

この質問のかなり漠然とした性質についてお詫びします。私は正式にプログラミングを教えられたことがありません。この場合、キーワードがかなりあいまいであるため、Googleは私のような自助者には役に立たないです。

オプションのリストをLongにエンコードおよびデコードして、アプリケーションに簡単に渡すことができるようにする関数をいくつか作成しています。この種のことをご存知でしょう。

1-アップル
2-オレンジ
4-バナナ
8-プラム
など

この場合、数字の11は、Apple、Orange、Plumを表します。

私はそれを機能させていますが、これは常に使用されているので、この手法には一般的な名前があると仮定します。間違いなく、現時点では手の届かないところにあるあらゆる種類のベストプラクティスと巧妙なアルゴリズムです。

編集:すべてのおかげで、私は答えがすぐに来ることを知っていました:)

0 投票する
6 に答える
3022 参照

c# - [Flag] された列挙型が 0 から始まり、1 ずつ増加するのはなぜですか?

編集:ほとんどの人が私の質問を誤解しているようです.

私は列挙型がどのように機能するかを知っており、バイナリも知っています。[Flags] 属性を持つ列挙型がそのように設計されている理由が不思議です。

元の投稿:

これは重複している可能性がありますが、他の投稿が見つからなかったので、ここに行きます.

その背後には何らかの正当な理由があるに違いありませんが、少しバグが発生しやすいと思います。

このようなことをしたら、もっと意味があったのではないでしょうか?

もちろん..このようなカスタムフラグをどのように処理する必要があるかはよくわかりません

仕様はいくつかのガイドラインを提供します

2 の累乗、つまり 1、2、4、8 などで列挙定数を定義します。これは、組み合わせた列挙定数の個々のフラグが重複しないことを意味します。

しかし、私の最初の例が発生することを決して望んでいないに違いないので、これはおそらく自動的に行われるべきです。教えてください:)

0 投票する
6 に答える
1263 参照

c# - .NET フレームワークでのビット フラグの実際の使用

flags 属性と bitwize 演算子を使用して enum をビット フラグとして使用する方法を検討していました (以下を参照)。

このパターンが使用されている .NET フレームワークの場所はありますか? 私はこれが好きですが、もっと実際の例を見たいです

0 投票する
4 に答える
7161 参照

python - django admin で bit flags int フィールドをどのように表現すればよいですか?

次のようなビットフィールドが定義されたデータモデルがあります。

そして、このように使用されます:

私の質問は次のとおりです。

A) 管理サイトで異なるビットフラグを個別の項目として表す最も簡単な方法は何ですか? テンプレートをオーバーライドするか、フォームで何かを行う必要がありますか?

B) 検索リストはどうですか? モデル内に各ビットを表す関数を作成することはできますが、検索と並べ替えはどのように行うのでしょうか?

私はDjangoが初めてです。