問題タブ [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.
c++ - 「|」の場合に「+」演算子を使用する理由 は完全に良いですか?
これはどちらかというと哲学的な質問ですが、コードベースのあちらこちらでこれを何度も見てきましたが、このプログラミング方法がどのようになったのかはよくわかりません。
uint の他の値を変更せずに、ビット 2 と 3 を値 x に設定する必要があるとします。そうすることは非常に些細なことであり、一般的なタスクであり、私は次のようにする傾向があります。
代わりに、または「|」を使用するコードを見てきました 「+」を使用:
それらは同等ですか?
はい。
一方が他方よりも優れていますか?
ハードウェアにビットごとの OR 命令がない場合に限りますが、ビットごとの OR を持たないプロセッサを見たことはありません (小さな PIC10 プロセッサにも OR 命令があります)。
では、一部のプログラマーが「|」の代わりに「+」を使用する傾向があるのはなぜでしょうか? ここで、本当に明白で非常に強力な最適化が欠けていますか?
c - ビット単位または 2 つの符号なし整数 (プログラム クラッシュ)
私の問題があまり明確でない場合は申し訳ありません。私はこのような構造を持っています:
次の関数は、2 つの typeSet を統合するためのものです。
次の行の実行中にプログラムが終了します。
サンプルの実行では、次の値を取得しました。
エラーメッセージはありません。ただやめる。助けてください。
c - C-&と〜のみを使用してビット単位のORを計算します
ビット単位で計算しようとしています| &と〜のみを使用します。
そしてここに出力があります:
なぜ~num1
出力しているのか理解しようとしていd
ますか?
assembly - 2進数の最上位ビットを1にする方法
MIPS で 2 進数の MSB を 1 にするにはどうすればよいですか? マスキングでやろうとしたのですがエラーが出てしまうので、他に方法はありますか?
エラーが発生しているマスキングによってMSB = 1にするコード。
よろしく
c# - ビット演算演習
次の演習があります。 n0 から n7 までの数値は、バイナリ システムで表されるバイトです。タスクは、すべてのビットを下に落とすか、別のビットに出会った場合はその上にとどまることです。視覚的な例を次に示します。
n0 から n7 までのすべての数値に Bitwise OR を適用すると、常に n7 の正しい結果になることがわかりました。
残念ながら、残りのバイト n6、n5、n4、n3、n2、n1、n0 の正しい方法を思いつきません。あなたはなにか考えはありますか?
x86 - なぜ2つのビット単位またはAVX命令ですか?
AVXには、ビット単位で実行する2つの命令(またはVORPDとVORPS)があります。ドキュメントによると:
と
これら2つのプロセッサ操作の間に実際の違いはありますか?そうでない場合:なぜ2つの指示があるのですか?そうでない場合も:ビット単位で整数を実行するためにそれらを使用するのは安全ですか?または?
c++ - C++は負の数に対してビットごとの「または」演算をどのように行いますか?
そのような変数に value: を与えると、e = 17|-15;
コンパイル後に答えとして -15 が返されます。算術 c++ が何を使用するのか理解できません。負の小数に対してビット単位の OR 演算を実行するにはどうすればよいですか?
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は私の心を混乱させました。
syntax - なぜ「||」なのか またはの記号?
それが論理演算「または」を表すことは知って||
いますが、その記号を選択した歴史を誰かが知っているかどうか知りたいです。たまたまキーボードの未使用の記号だったからでしょうか。
c# - この C# Bitwise-OR の結果は何ですか?
C# で SharePoint ユーザーのアクセス許可を確認しようとしていますが、動作しているように見える次のコードに出くわしました。
最初の引数は、権限を確認するユーザーです。2 番目の引数は、ユーザーが持っているかどうかを確認するパーミッションです。
私の質問は、bitwise-or の間の emptymask と viewpages パーミッションの結果は何ですか? これは実際にどの許可に対してチェックしていますか?