問題タブ [bitwise-xor]
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++ - ("<<") は C++ で何を意味しますか?
仕組みがわかりませんa<<b
。
そして、それは実際には何を意味するのa+= arr[i][j] ==0 && tfunc(i,j);
でしょうか?
それは意味しますか:
コードの一部は次のようになります。
前もって感謝します
bit-manipulation - 数値を XOR してから数値を抽出する方法
a、b、c が 3 つの整数であるとしましょう。次に、それらを XOR して、d = a ^ b ^ c を取得します。
「a」と「d」しか知らず、a、b、cの間に関係がない場合。「a」が「d」の生成に使用されたかどうかを確認する方法はありますか?
例えば:
つまり、「d」は「a^b^c」の結果であり、事前にはわかりません。「d」と数値「x」が与えられた場合、x が a または b または c のいずれかであるかどうかを確認できますか?
申し訳ありませんが、ここで a、b、c、d はブール変数ではないことを忘れてしまいました。どのプログラミング言語でも整数を表すために使用します。したがって、d = a^b^c はビット演算です。たとえば、d は 2^18^19 の結果に等しくなります。
c# - char のビットごとの反転の計算
パケット形式に hdlc を使用するシリアル ポート デバイスをリバース エンジニアリングしようとしています。ドキュメントに基づくと、パケットにはコマンドのビットごとの反転 (最初の 4 バイト) が含まれている必要があります。この場合は"HELO"
. 元のプログラムを使用しているときにシリアル ポートを監視すると、ビットごとの反転がどうあるべきかがわかります。
問題は、遠く離れていても値が得られないことです。
c - 与えられた 2 つの整数から、if ステートメントを使用せずに、与えられた 2 つとは異なる 3 番目の整数を見つけます。
上記の質問は次のとおりです。2 つの整数 x1 と x2 が与えられた場合、if キーワードを使用せずに、 x1 と x2 の両方とは異なる別の整数 x3 を見つけます。
私の解決策は、整数のビットごとの操作に加えて、2 つのビットが等しくない場合にのみ、2 つのビット間の XOR が 1 を返すという事実に基づいています。
この解決策は有効ですか? より良い解決策を見つけることができますか? もちろん、実行時間の考慮事項とメモリ消費は可能な限り優れている必要があります。
注: 三項演算と比較 (つまり - != 、 == ) も許可されていません
前もって感謝します、
男。
私の解決策:
bitwise-operators - priority_queue C++ の比較演算子で XOR を 1 と使用するユースケースは何ですか?
C++ (リンク)の STL priority_queue の「cppreference」の例から、そこにある最後の例を完全には理解していません。コンパレータはラムダ式であり、これはすべて問題ありませんが、各引数に 1 を使用したビット単位の XOR の使用法は、私にはわかりません。何の役に立つのでしょうか?
コード例は次のとおりです。
出力:
結果は、ベクトルがペアでソートされ、2 番目が最初のものよりも大きいことがわかりますが、2 つのことを完全には理解していません。
- 1 を XOR すると、どのようにこの効果が得られますか? (最初のビットを切り替えると、8 が 9 よりも大きく、次に 7 が 6 よりも大きい、などと関連付けられるという感覚があります。)
- そのような注文のユースケース/アプリケーションは何ですか?