問題タブ [bit-masks]
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.
c - 基数ソートの定数マスク値はどうすればよいですか?
CS コースの 1 つで、符号なし整数 (+ または -) をソートできる LSD 基数ソートをプログラムする必要があるという問題がありました。ソートされる値は 32 ビット整数値であるとします。
規定は、私のマスクが定数値でなければならないということです。これが私の質問の場所です。各桁が 4 ビット (16 進表現) で表される 32 ビット整数に対して & ビット演算を行う場合、マスクは 28 にする必要がありますか? (バイナリで28ビットの1が必要なので)
また、追加のエラーに気付く人がいる場合は、注意してください。
また、基数ソートでこれらを使用するように言われたため、定義された定数とグローバル変数はすべて必須であることも付け加えておきます。
c++ - 整数が動揺したとき
私はかなり長い間この問題に悩まされてきました。 https://www.hackerearth.com/code-monk-bit-manipulation/algorithm/when-the-integers-got-upset/ . つまり、長さ N の 2 つの配列 A と P があります。次のように値が計算される 3 番目の配列 Z があります。
Z の値の合計が最小になるように、A の値を再配置する必要があります。
A の値を :5 6 2 4 のように並べ替えることができます。Z の対応する値は :0 0 1 0 になり、合計は 1 になります。
この問題に対する私のアプローチは O(n!) ですが、時間制限を超えています。動的プログラミングとビットマスキングを使用した O(n^2*2^n) アプローチがあります。
java - 負の数のビットシフトが機能しないのはなぜですか?
これが私のコードです:
x1、x2、x3、x4 を最大 16384(2^14) にする必要があります。したがって、+- 記号を追加すると、合計 15 ビットになります。誤った値が取得されるのはなぜですか?
swift - 物理ボディ ビットマスク システムのこの Swift SpriteKit サンプル コードを解釈する方法
Apple の SpriteKit と GameplayKit のサンプル コードを詳しく調べていたところ、Swift で記述された「DemoBots」というプロジェクトが見つかりました。そのプロジェクトで使用されている非常に興味深い概念がいくつかあり、それらを自分のプロジェクトに適用したいと考えていました。
私はすでに、衝突処理をハンドラー クラスにカプセル化する作業を行っていました。これは、そのサンプル コードで衝突が処理される方法と非常によく似ています。
このプロジェクトでは、 という構造体の次のコードを見つけましたRPColliderType
。
この構造体は、次のように.collisionBitmask
//プロパティを設定するたびに使用されます: (コンポーネントとエンティティの設計ガイドを使用してこれを実装しました).contactBitmask
.categoryBitmask
SKPhysicsBody
ここまでは順調ですね。Objective-C から来た私の問題は、RPColliderType Struct からの次のコード行が何をするのかを完全に理解していないことです。
それは、計算されたプロパティを呼び出すたびに(それはswiftで呼び出されますよね?)プロパティを呼び出すたびに-に割り当てるときにこれを行います-SKPhysicsBody
これをそれらの静的クラス辞書に追加します。mask
しかし、' ' / ' reduce
' / ' union
' コマンドの解釈に問題があります。
それは本当に何をしますか?
swift - 「ObjectSetType」のメンバーを持つ Swift プロトコル
私は現在、swift でゲームを作成しており、チャプターやレベルなどを定義するためにプロトコルを利用しようとしています。
したがって、章は次の構造を持つ場合があります。
各チャプターは複数のレベルで構成されており、特定の「選択」が満たされた場合にのみ、各レベルにアクセスできます。
これを達成するために、これらの選択を追跡し、ビット マスクを使用して条件が満たされているかどうかを確認します。ただし、選択肢はチャプターごとに異なる可能性がありますが、ユーザーが実際にどのチャプターにいるかを心配する必要がないように、ゲームの仕組みを構築したいと考えています。
各レベルには「ポイント」値があり、ポイント値に関連する選択肢のビット マスクが含まれているかどうかを判断するだけです。
したがって、「レベル」については、次のようなプロトコルを定義しようとしました
のエラーを与える
理論的には、各章には独自のオプションのセットがありますが、特定の章ごとにコーディングするのではなく、これを中心にエンジンをほぼコーディングできるように、これを十分に一般的なものにする方法を考えています。それが、私がプロトコルを作成すると思った理由です。問題は、設定された OptionSetType 値を定義する必要があり、プロパティが OptionSetType のタイプになるとは言えない場合に、ビット マスキング作業を行う方法です。それが理にかなっていることを願っていますか?
c# - C# からの PHP での ulong、ビットマスク、およびビット シフト
わかりましたので、私の問題は、エンドポイントの応答から大きな整数を「処理」しなければならないことです。これはハッシュであり、人間が読める方法でこのデータ (バージョン: メジャー、マイナー、ビルドなど) を表示するために、いくつかのビット マスクとビット シフトを行う必要があります。
C#では、この処理を行うために数行を簡単に記述しました。
ただし、これはサーバー上で実行されるバックエンド タスクの一部である必要があるため、 PHPで記述する必要があります。問題は、PHP がその大きな整数 ( data
) をfloat
そのかなりの部分を切り取ったものとして処理することです (そして、その処理を行うにはすべてのビットが必要です)。
問題は、その C# コードを通常のPHPに「移植」するにはどうすればよいかということです。
重要なお知らせ: PHP のインストールにアクセスできないか、サーバーのアーキテクチャ/構成を変更できません。そのため、より大きな整数を処理したり、プラグインをインストールしたりするために 64 ビットに移行することはできません。