問題タブ [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.
python - リストとビットマスクを指定して、True であるインデックスの値を返すにはどうすればよいですか?
次のリストs
とビットマスクから始めb
ます。
apply_bitmask(s, b)
返すように関数を書くにはどうすればよいですか
gcc - ビットごとの AND (SPARC アセンブリ) を実行するときの再配置オーバーフロー?
最上位ビット (0 から数えるとたまたまビット 16) を削除するためのビットマスクとして、レジスタでビットごとの AND を実行しようとしています。ただし、gcc を使用してコードをコンパイルしようとすると、次のエラー メッセージが表示されます。
アセンブラー メッセージ: 19: エラー: 再配置オーバーフロー
私の推測では、これは適用しているビット マスクのサイズと関係があると思われます。これは、小さな数値を含む 2 つのレジスタで AND を実行すると、同じエラーが発生しないためです。コード自体は次のようになります。
誰かがこの問題を解決する方法についての洞察を提供できれば、それは非常に高く評価されます.
ありがとう、
悪いパンダ
java - Java ビットの操作
まず、プログラミングでビットを実際に扱ったことは一度もありません。3 つの状態になるオブジェクトがあり、3 ビット配列を使用してそれらの状態を表現したいと考えています。
例:
私はレースカーを持っていて、静止状態で前進、左、右に移動できます。ビットは 000 になります
。車が前進している場合、ビットは 010 になります。前進し、左に移動している場合、ビットは 110 になります。
ビットをどのように設定し、値を取得するためにそれらを読み戻すにはどうすればよいですか?
tsql - TSQLでintまたはbigintビットマスクフィールドの完全な32ビットまたは64ビットを読み書きする方法
32番目と64番目のビットの設定には注意が必要です。
32ビットソリューション:
32ビットフィールドで動作するようになりました。秘訣は、POWER関数の戻り値をintにキャストする前にbinary(4)にキャストすることです。最初にbinary(4)にキャストせずに、intに直接キャストしようとすると、32番目のビット(インデックス31)で操作するときに算術オーバーフロー例外が発生します。また、POWERに渡される式が、最大戻り値(2 ^ 31)を格納するのに十分な大きさの型(bigintなど)であることを確認する必要があります。そうしないと、POWER関数は算術オーバーフロー例外をスローします。
64ビットの問題:
64ビットフィールドにも同様のアプローチを使用するつもりでしたが、式/戻り値にdecimal(38)タイプを使用しているにもかかわらず、POWER関数が不正確な値を返していることがわかりました。例: "select POWER(CAST(2 as decimal(38))、64)"は、正しい値18446744073709551616ではなく、18446744073709552000(最初の16桁のみが正確)を返します。 63乗、その結果はまだ不正確です。
POWER関数のドキュメントには、「お金または数値データ型のいずれかが使用されている場合、floatへの内部変換によって精度が低下する可能性がある」と記載されています。(数値型は機能的に10進数型と同等であることに注意してください)。
64ビットフィールドを適切に処理する唯一の方法は、32ビットの半分を操作することだと思いますが、これには、@ bitindexプロパティを追加でチェックして、どちらの半分を操作する必要があるかを確認する必要があります。TSQLの32ビットおよび64ビットビットマスクフィールドにこれらの最終ビットを明示的に設定するための組み込み関数またはより良い方法はありますか?
c++ - 整数内のビットの同時変更
複数のスレッドから char/integer 内のビットを設定しようとすると、変更が失われますか? 最初はすべてゼロで、スレッドはそれを 1 に設定するだけです。システム アーキテクチャは x64 です。
ありがとう、ゴクル。
c# - 整数のセットビットを見つける
さて、質問があります。オプション用のビットマスクを組み立てました。基本的に、私のページには、整数のリスト (ID 値) に格納する複数の選択を可能にするリスト ボックスがあります。全部で 14 の選択肢があります (ID val 1-15)。これをビット マスクにアセンブルしている理由は、データベース テーブル (リストボックスの作成元) にオプションを追加する場合に備えて、数値をハード コードしたくないためです。また、SQL ストアド プロシージャに 14 個のパラメーターを送信したくありません (したがって、14 個の数値をハードコーディングします)。この整数を送信して分解できます (後のステップ)。
ただし、現在、別の理由で整数に設定されているビットを見つける必要があります。基本的に私は財産を持っています。get は、(ユーザー選択から取得した) 整数のリストからビット マスクを組み立て、その 2 進 10 進数値の整数を返します。これは、ビットマスクを作成するために組み立てたコードです。
したがって、1 番目、2 番目、4 番目が設定されている場合、私の整数は 11 です。
今、私は私の設定方法を作る助けが必要です. これは、私が持っている小数/整数を取得し、設定されているビットを見つけて、それらをリストに戻す必要があります。したがって、値が 11 の場合、整数 1、2、4 のリストに入れる必要があります。誰でも私を助けることができますか?
python - ビット マスキングによるデータ ギャップの検出
一連の数字で特定の長さの不連続 (ギャップ) を見つけるという問題に直面しています。したがって、たとえば、[1,2,3,7,8,9,10]
と のギャップが与えられた場合、length=3
が見つかります[4,5,6]
。ギャップが の場合、length=4
何も見つかりません。もちろん、実際のシーケンスはもっと長くなります。この問題はかなりの数の投稿で見てきましたが、さまざまなアプリケーションと可能な実装がありました。
私がうまくいくと思った方法の 1 つは、完全なセットを、使用可能な番号の 1 と欠落の 0 を含むビット配列として表すことです。したがって、上記は のようになります[1,1,1,0,0,0,1,1,1,1]
。次に、すべての位置が 1 になるまで、指定された長さの配列を完全なセットで XOR マスクするウィンドウ関数を実行する可能性があります。各実行でのマスキング。
これが私が思いついたものです:
これは、約 100k (< 1 秒) でかなり高速です。大規模なセットでこれをより速く/より効率的にする方法についてのヒントをいただければ幸いです。ありがとう!
windows - モノクロ ビットマップ SetPixel/GetPixel の問題... Win32 C コード
これは私のビットマスク コード (モノクロ ビットマップ) の一部です。Bitmask_Create() 関数に問題はありません。Windows のモノクロ ビットマップを開き、読み込み、保存してテストしましたが、うまくいきました。ただし、作成した GetPixel および SetPixel 関数は正しく動作していないようです。場合によっては、ビットマップのサイズによっては正常に動作するように見えることがあります。
誰かが助けてくれれば、私はそれを感謝します。それは私を狂気に駆り立てています。ありがとう。
c - 残りの部分に影響を与えることなく、C でバイトの特定のビットのみを設定するにはどうすればよいですか?
この 1010XXXX のようなバイトがあり、X の値は何でもかまいません。下位 4 ビットを特定のパターン、たとえば 1100 に設定し、上位 4 ビットは影響を受けないようにしたいと考えています。Cでこれを最速で行うにはどうすればよいですか?
java - ビットマスクの質問?
私は以下を持っています:
そして、次の結果が得られるように計算される方法を理解したかったのです。たとえば、12414
私はビットマスクがどのように機能するかについて本当に無知であり、誰かがおそらくいくつかのヒントを与えて、それがその数にどのように行くかを説明することができれば、私は非常に感謝します。