問題タブ [bitwise-or]

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

javascript - PHP のビットごとの OR と Javascript のビットごとの OR の比較

Javascript:

PHP:

PHP でのビット演算の結果が Javascript でのビット演算と異なるのはなぜですか?

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

javascript - 0でORビット演算を使う理由が気になる

コードを確認したところ、ビット操作 (|0) に関する計算ミスが見つかりました。

まず、(a*b)|0 のように 2 つの数値を計算した後に '|0' を使用する特別な理由があるのだろうか。

第二に、以下のケースでは、結果が 220050 になると予想していますが、結果は 220049 です。なぜこの結果が得られるか知っていますか?

importPackage(java.io); importPackage(java.lang);

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

c++ - バッファーのサイズ設定にビット単位または std::max の代わりに使用する

私はいくつかの C++ ネットワーク コードを見ていました。バッファの大きさを調べに行ったところ、次のようなことがわかりました。

ここでの基本的な考え方は、バッファーにこれら 6 つの構造体のいずれかを含めることができるということです。これは外側のスコープで宣言されているため、後で外側のスコープのuint8_t配列サイズなどに使用できます。

通常、ここでは、std::max() 関数または 3 項演算子を使用して、これら 6 つの構造体のうち最大のものの正確なサイズを計算するものを期待します。私は上記のイディオムを見たことがなく、それが機能することを確信するために立ち止まる必要がありました。

私はこれに慣れていないので、一般的に、これがどれほど有効であり、それを行うことの利点と欠点は何かを知りたい.

私が見ることができるのは -

プロ:

  • 構造体の最大サイズと少なくとも同じ大きさのサイズを常に提供する必要があります。スペースが限られていなければ、本当に必要なのはこれだけです。
  • コンパイル時に計算できるようです。
  • 非常に古い C++ (または C) コンパイラでも動作するはずです。

短所:

  • 必要なサイズのほぼ 2 倍になる場合があります。
  • これにより、人間がオフラインでバッファーの大きさを正確に把握することがはるかに困難になります。
  • その奇妙な/予期しない。
0 投票する
1 に答える
4268 参照

bit-manipulation - すべてのペア ビットごとの OR 合計

線形時間の複雑さでビット単位の OR 合計または配列を見つけるアルゴリズムはありますか?

配列が {1,2,3} の場合、すべてのペアの合計 ID は 1|2 + 2|3 + 1|3 = 9 とします。

次のアルゴリズムを使用して、O(n) 内のすべてのペア AND 合計を見つけることができます。これを変更して、すべてのペア OR 合計を取得するにはどうすればよいですか。

ここから: http://www.geeksforgeeks.org/calculate-sum-of-bitwise-and-of-all-pairs/

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

bit-manipulation - ビット演算と「フラグ」の設定

これは私の最後の投稿の更新ですが、これがどのように機能するかを理解するのにまだ苦労しています. だから私は主な機能を与えていました:

そして、割り当てのために、出力が次のようになるように関数 set_flag と check_flag を書くことになっています。

したがって、私が理解していることから、n 番目のビットが 1 であることを確認するために「set_flag」関数を使用することになっていました。 . "set_flag" が実際に何をしているのか、3、16、31 がどのように "flags" として保存され、"check_flag" で 1 として返されるのかがわかりません。

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

javascript - コーディングの説明: JavaScript でビットごとの OR 文字を使用して設定された変数

今日、理解できない JS に出くわしました。グーグルでビット単位の演算を行っても、あまり役に立ちません。誰かが以下を説明できますか?

パイプ文字はビットごとの OR であると読みましたが、上記で何が起こっているのか途方に暮れています。コンテキストのために関数をもっと投稿する必要がある場合は、お知らせください。