問題タブ [bitmask]

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 投票する
1 に答える
263 参照

php - FilterIterator ビットマスク (またはビットフィールド)

ビットマスクに苦労しています (またはビットフィールドですか?)。もうどうしたらいいのかわからない。

フィルタリング対象のフラグを受け入れる DirectoryFilterIterator を作成したいと考えています。そのためにこれらのビットを使用すると思いました:

aDOTも a と見なされるDIRため、これら 2 つも区別できるようにしたいと思います。私が正しければ、次のようにできるはずだと思いました。

言い換えれば、これは.DIRでない限り除外する必要がありDOTます。しかし、フィルタリングを(メソッドで)機能させる方法に完全に行き詰まっていますaccept

...特に、私が行っているすべての否定のせいで、私はちょっと迷っています。これを正しく機能させるにはどうすればよいですか?

0 投票する
5 に答える
6601 参照

php - 設定/権限のためにこの PHP ビットフィールド クラスを改善しますか?

私は、アプリケーションのさまざまな領域でさまざまなユーザー設定とアクセス許可に対して、PHP でビットマスクまたはビットフィールドを使用する最良の方法を長い間見つけようとしてきました。私がこれまでに行った中で最も遠いのは、Stack Overflow の投稿Bitmask in PHP for settings? で svensによって提供されたクラスからのものです。. DEFINE の代わりにクラス定数を使用するように変更し、get メソッドに int のみが渡されるようにしました。以下に、クラスの機能をテストするためのサンプル コードをいくつか示します。

このクラスをさらに改善するための提案/コードを探しているので、アプリケーションで設定や場合によってはユーザー権限に使用できます。

以下のコメントで mcrumley が回答

さらに、定数の番号付けについて質問があります。このタイプの他のクラスとコード サンプルでは、​​2 の累乗でリストされているものがあります。ただし、定数に 1、2、3、4、5、6 の番号を付けても、私が知る限り、同じように機能するようです。 1、2、4、8、16などの代わりに。定数を変更する必要があるかどうかを誰かが明確にすることもできますか?


いくつかのアイデア...このクラスを拡張して、他のクラスで簡単に使用できるようにする方法を本当に考えたいと思います。UserクラスとクラスがあるとしましょうMessagesUserとの両方Messagesクラスはこのクラスを拡張し、設定/権限にビットマスクを使用できるようになります (後で他のクラスと共に)。それで、現在のクラス定数を変更して、それらを渡すことができるようにするか、他のオプションを指定する必要がありますか? サイト/スクリプトの他の部分で (define('PERM_READ', 1);) を定義する必要はなく、ある程度カプセル化したままにしておく必要がありますが、柔軟性もあります。私はアイデアを受け入れます。設定や権限のために他の複数のクラスで使用すると言ったように、これを堅固で柔軟にしたいと考えています。おそらく、ある種の配列を使用する必要がありますか? 上記にリンクされた私の以前の質問の@Svensは、「いくつかの自動魔法のゲッター/セッターまたはArrayAccessを実装して、さらに素晴らしいものにします。 – svens」というコメントを投稿しました。

可能であれば、サンプル ソース コードを含めてください。

使用例...

0 投票する
5 に答える
48746 参照

c# - C#で整数の上位バイトと下位バイトを取得し、それをchar配列として配置して、comポートに送信するにはどうすればよいですか?

CIではこれを行います

int番号=3510;

char upper = number >> 8;

char lower = number && 8;

SendByte(upper);

SendByte(lower);

上と下の両方が両方である場合=54

C#ではこれを行っています:

ただし、デバッガー番号= 3510、upper = 13、lower = 0では、コードを>> 6 upper = 54に変更すると、これは意味がありません。これは絶対に奇妙なことです。

基本的には、16ビットの数値から上位バイトと下位バイトを取得し、「GETDM」の後にCOMポートに送信したいだけです。

これどうやってするの?Cではとてもシンプルですが、C#では完全に困惑しています。

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

c - 特定の入力に対して次のビットマスクを生成する最良の方法は?

次のビットマスクを生成する最良の方法を見つけようとしています。

例:

私は明らかな反復的な方法(ビットを1つずつ設定する)を知っていますが、それにはO(n)時間がかかります....これを一定の時間で実行できる「ビットマジック」があるかどうか疑問に思っています。または少なくともサブリニア時間 (LUT を使用せずに!!)

テイカーはいますか?

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

c# - IntをEnum[]またはInt[]にビットマスクしましたか?c#

私は次のような列挙型を持っています:

フラグ/ビットマスクの作成は問題ありませんが、次のようなことは可能ですか?

次のような結果になります

ありがとう。

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

c - 次の C のコードで segfault エラーが発生するのはなぜですか?

オペレーティング システムのクラスで、翻訳ルックアサイド バッファーをシミュレートする予定のプロジェクトがあります。

TLBミスの後に呼び出されるメソッドを書いています。空であるか、しばらくヒットしていない TLB 内の次のエントリを見つけ、そのエントリを削除し、最後に呼び出されたページ テーブルのエントリに置き換えます。メソッドが呼び出されると、ページ テーブル エントリのデータが与えられます。

次の行からセグメンテーション違反が発生しています。

VBIT_MASK は、挿入するビットをマスクするために以前に定義された変数です。ビットマスクの使い方を誤解しているのか、コードにもっと深刻な問題があるのか​​ どうかはわかりません。誰かにすべてを詳しく説明してもらうのは大変だと思いますが、これを修正するためにどの方向に考えるべきかについて誰か提案があれば、感謝します!

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

javascript - ビットマスクとJavaScriptの問題

何か間違ったことをしているのかどうかはわかりませんが、この単純なJavaScriptを機能させることができないようです。

あなたはここでそれを見ることができます http://jsfiddle.net/qPEVk/

それは3221225472ではありませんか?

ありがとう、
ジョー

0 投票する
9 に答える
9124 参照

c# - 連想テーブルを使用するよりも、フラグをビットマスクとして保存する方がよいのはいつですか。

私は、ユーザーがさまざまな機能(読み取り、作成、ダウンロード、印刷、承認など)を使用するためのさまざまな権限を持っているアプリケーションに取り組んでいます。権限のリストは頻繁に変更されることは期待されていません。これらの権限をデータベースに保存する方法には、いくつかのオプションがあります。

どのような場合にオプション2がより良いでしょうか?

オプション1

連想テーブルを使用します。

オプション2

ユーザーごとにビットマスクを保存します。

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

c# - C#番号からBitMask32から値

513などの数値を取得しています。この数値をビットマスク32に変換してから、各1ビットが配列内のどこにあるかをカウントする必要があります。

例513=0および9の場合

数値をbit32に変換してから、値を読み取るにはどうすればよいですか?

現在、数値を文字列の2進値に変換しています。

これを行うためのより効果的な方法はありますか?値をビット配列に変換するにはどうすればよいですか?

ありがとう

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

avr-gcc - AVRポートのセットアップに関するこのコードを説明してください

以下は何をしますか?

私の知る限り、0xFCは16進値です。それは基本的に11111100と言っているので、PORTD0-PORTD1は出力ですが、残りは入力です。

そのコードの完全な説明は何でしょうか?