問題タブ [bit-manipulation]
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.
java - ビット演算子を使用して複数の整数値をJavaの関数に渡す方法は?
アプリケーション フレームワークでは、複数の Int 値 (通常は列挙型の代わりに使用される) を関数に渡すことができるフレームワークをよく見かけます。
例えば:
では、ビットごとの演算子を使用して渡された複数の int 値を適切に評価するには、multiValueExample にどのようなロジックが存在する必要がありますか?
c - Cでのビットシフト
符号付き整数に対応するビットパターンが右にシフトされる場合、
この質問への答えは3番目のオプションです。誰でもこれを説明できますか、、
また、Cプログラミングにおける左シフトおよび右シフト演算子の背後にある理論について、いくつかの基本的な考え方を示します。例えば
いずれかの操作が実行されたときに空のビットに何が埋められるか。確認したところ、左シフトで空のビットが0で埋められ、右シフトで1が埋められていることがわかりました。ロジックをクリアしてください...
apache-flex - 誰かがこのビット操作コードを説明できますか?
各ノードの横にチェックボックスが付いたツリー コントロールがあり、ノードでチェック済み、チェックなし、中間のチェック済みの状態を許可します。ノードをクリックすると、親と子が更新されます。私が見つけたコードはビットシフトを使用しており、正確に何が起こっているのかを理解しようとしています.
誰かが次のコードを説明できますか? または、さらに良いことに、このコードを書き直して、理解しやすくしますか?
sql-server - SQL サーバー | int/smallint/tinyint フィールドのビット演算
SQL SERVER の int/uint フィールドでビット演算を実行できるかどうか疑問に思っていましたか?
c - Cの整数の最上位ビット(msb)を見つけるための最速/最も効率的な方法は何ですか?
整数nがあり、最上位ビットの位置を知りたい場合(つまり、最下位ビットが右側にある場合は、左端のビットの位置である1を知りたい)、見つけるための最も速く/最も効率的な方法は何ですか?
POSIXが最初のセットビットを見つけるためにstrings.hのメソッドをサポートしていることは知っていffs()
ますが、対応するメソッドがないようですfls()
。
私が見逃しているこれを行うための本当に明白な方法はありますか?
移植性のためにPOSIX関数を使用できない場合はどうでしょうか。
編集:32ビットアーキテクチャと64ビットアーキテクチャの両方で機能するソリューションについてはどうでしょうか(コードリストの多くは、32ビットintでのみ機能するようです)。
c++ - いくつかのランダムな C の質問 (ASCII マジックとビット演算子)
私は C プログラミングを学ぼうとしています。いくつかのソース コードを勉強していましたが、特にビット単位の演算子に関して、理解できないことがいくつかあります。これに関するいくつかのサイトを読んで、彼らが何をしているのかちょっとわかったのですが、戻ってこのコードを見てみると、なぜ、どこでどのように使用されているのか理解できませんでした.
私の最初の質問は、ビット単位の演算子ではなく、ASCII マジックに関するものです。
次のコードがどのように機能するかを誰かに説明してもらえますか?
これはcharをintに変換するために行われることは理解していますが、その背後にあるロジックはわかりません。なぜ/どのように機能するのですか?
さて、Bitwise演算子に関して、私はここで本当に迷っています。
このコードは何をしますか?
~ がビットを反転することをどこかで読みましたが、このステートメントが何をしているのか、なぜそれをしているのかわかりません。
この行と同じ:
/li>その他の質問:
|= 演算子は正確には何をしているのでしょうか? 私が読んだことから、 |= は OR ですが、このステートメントが何をしているのかよくわかりません。
このビット単位の演算子を使用しないように、このコードをわかりやすく書き直す方法はありますか? 私はそれらを理解するのが非常に混乱していると思うので、うまくいけば、誰かがそれらがどのように機能するかを理解するための正しい方向に私を向けてくれます!
ビット演算子についての理解が深まり、コード全体がより理解できるようになりました。
最後に 1 つ: このコードを理解しやすく、おそらく「ビットレベル」ではない方法で書き直すための「よりクリーンな」方法があるかどうかについて、誰も答えなかったようです。何か案は?
java - 正の整数を 2 進数で表すのに必要なビット数を調べますか?
これはおそらくかなり基本的なことですが、1 時間ほどの苦痛を軽減するために、Java で特定の正の整数を表すのに必要なビット数を計算する方法を誰か教えていただけませんか?
たとえば、10 進数の 11 (1011) を取得します。私は答えを得る必要があります、4。
最上位ビット以外のビットをすべて 0 に設定する方法を考え出すことができれば、 >>> 答えが得られます。でも… できません。
c# - 範囲をビット配列に変換する
包括的な範囲を定義する 2 つの符号なし整数をビット フィールドに変換する必要がある C# で、タイム クリティカルなコードを作成しています。元:
ビットを逆の順序で視覚化すると役立つ場合があります
この範囲の最大値は、実行時に指定されるパラメータであり、これを と呼びますmax_val
。UInt32
したがって、ビット フィールド変数は、次のサイズの配列として定義する必要がありますmax_val/32
。
変数x1
とによって定義された範囲が与えられた場合、x2
この変換を実行する最速の方法は何ですか?
c++ - ビットをテストして文字列を作成する - より良いアプローチはありますか?
このコードは機能しますが、それを行うためのより良い方法があるかどうか疑問に思っています。基本的に、ビットをテストし、ビットの状態に応じて適切な文字を文字列に書き込む必要があります。文字が固定幅フォントで表示されるため、文字が動き回らないようにするため、スペースが存在します。C または C++ で問題ありません。
c# - ビットをバイトに変換するにはどうすればよいですか?
ビットを表す 128 個のブール値の配列があります。これらの 128 ビット表現を 16 バイトに変換するにはどうすればよいですか?
例:
次のような配列があります。
(より簡潔にするために 1 と 0 に変換されます)
これらのビットを次のバイト配列に変換する必要があります。
編集:これはうまくいかないようです:
以下を出力します。