問題タブ [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 投票する
4 に答える
197 参照

c++ - 「|」の場合に「+」演算子を使用する理由 は完全に良いですか?

これはどちらかというと哲学的な質問ですが、コードベースのあちらこちらでこれを何度も見てきましたが、このプログラミング方法がどのようになったのかはよくわかりません。

uint の他の値を変更せずに、ビット 2 と 3 を値 x に設定する必要があるとします。そうすることは非常に些細なことであり、一般的なタスクであり、私は次のようにする傾向があります。

代わりに、または「|」を使用するコードを見てきました 「+」を使用:

それらは同等ですか?
はい。

一方が他方よりも優れていますか?
ハードウェアにビットごとの OR 命令がない場合に限りますが、ビットごとの OR を持たないプロセッサを見たことはありません (小さな PIC10 プロセッサにも OR 命令があります)。

では、一部のプログラマーが「|」の代わりに「+」を使用する傾向があるのはなぜでしょうか? ここで、本当に明白で非常に強力な最適化が欠けていますか?

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

c - ビット単位または 2 つの符号なし整数 (プログラム クラッシュ)

私の問題があまり明確でない場合は申し訳ありません。私はこのような構造を持っています:

次の関数は、2 つの typeSet を統合するためのものです。

次の行の実行中にプログラムが終了します。

サンプルの実行では、次の値を取得しました。

エラーメッセージはありません。ただやめる。助けてください。

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

c - C-&と〜のみを使用してビット単位のORを計算します

ビット単位で計算しようとしています| &と〜のみを使用します。

そしてここに出力があります:

なぜ~num1出力しているのか理解しようとしていdますか?

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

assembly - 2進数の最上位ビットを1にする方法

MIPS で 2 進数の MSB を 1 にするにはどうすればよいですか? マスキングでやろうとしたのですがエラーが出てしまうので、他に方法はありますか?

エラーが発生しているマスキングによってMSB = 1にするコード。

よろしく

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

c# - ビット演算演習

次の演習があります。 n0 から n7 までの数値は、バイナリ システムで表されるバイトです。タスクは、すべてのビットを下に落とすか、別のビットに出会った場合はその上にとどまることです。視覚的な例を次に示します。

ここに画像の説明を入力

n0 から n7 までのすべての数値に Bitwise OR を適用すると、常に n7 の正しい結果になることがわかりました。

残念ながら、残りのバイト n6、n5、n4、n3、n2、n1、n0 の正しい方法を思いつきません。あなたはなにか考えはありますか?

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

x86 - なぜ2つのビット単位またはAVX命令ですか?

AVXには、ビット単位で実行する2つの命令(またはVORPDとVORPS)があります。ドキュメントによると:

これら2つのプロセッサ操作の間に実際の違いはありますか?そうでない場合:なぜ2つの指示があるのですか?そうでない場合も:ビット単位で整数を実行するためにそれらを使用するのは安全ですか?または?

0 投票する
6 に答える
13669 参照

c++ - C++は負の数に対してビットごとの「または」演算をどのように行いますか?

そのような変数に value: を与えると、e = 17|-15;コンパイル後に答えとして -15 が返されます。算術 c++ が何を使用するのか理解できません。負の小数に対してビット単位の OR 演算を実行するにはどうすればよいですか?

0 投票する
3 に答える
13611 参照

c - char*のビット演算

以下のコードをコンパイルすると、GCCでエラーが発生します。他のまたはシフトラインの代わりにコメントされた2つのラインは機能しますが、キャストが必要であり、真実であるかどうかはわかりません。

エラーは次のとおりです。バイナリへの無効なオペランド| ('char*'と'int'があります)

ありがとう。

編集:これは参照渡しの問題であることを理解しています。バイトを変更しようとしています。この関数でビットをバイトに変換したい。実際、私は最初にすべての回答者/コメント投稿者が提案する方法でそれを書きましたが、 http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp? topic =%2Fcomの参照パスの例.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Fcplr233.htmは私の心を混乱させました。

0 投票する
6 に答える
83993 参照

syntax - なぜ「||」なのか またはの記号?

それが論理演算「または」を表すことは知って||いますが、その記号を選択した歴史を誰かが知っているかどうか知りたいです。たまたまキーボードの未使用の記号だったからでしょうか。

0 投票する
3 に答える
561 参照

c# - この C# Bitwise-OR の結果は何ですか?

C# で SharePoint ユーザーのアクセス許可を確認しようとしていますが、動作しているように見える次のコードに出くわしました。

最初の引数は、権限を確認するユーザーです。2 番目の引数は、ユーザーが持っているかどうかを確認するパーミッションです。

私の質問は、bitwise-or の間の emptymask と viewpages パーミッションの結果は何ですか? これは実際にどの許可に対してチェックしていますか?