タグ付けされた質問 「bitwise-operators」

ビットレベルで操作を実行するために使用される演算子。プログラミング言語はバイト指向であり、ハードウェアはビット指向であるため、ビットレベルで操作できることは、特にプログラムがハードウェアと直接やり取りする場合、プログラミングで非常に重要になる可能性があります。 。


30
ビットワイズ演算子の実際の使用例[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 この質問を改善する 次のビット単位演算子の実際の使用例は何ですか? そして XOR ない または 左/右シフト

28
なぜ私たちは通常使うのですか|| 以上|?違いはなんですか?
どちらもうまく機能しているのに、通常||はビット単位のOR |ではなく、2つのブール値の間に論理OR を使用するのかと思っているところです。 つまり、以下を見てください。 if(true | true) // pass if(true | false) // pass if(false | true) // pass if(false | false) // no pass if(true || true) // pass if(true || false) // pass if(false || true) // pass if(false || false) // no pass |代わりに使用できます||か?&およびと同じです&&。

1
Javaのダブルチルド(~~)の意味は何ですか?
Guavaのソースコードを閲覧しているときに、次のコード(hashCode内部クラスのの実装の一部)に遭遇しましたCartesianSet。 int adjust = size() - 1; for (int i = 0; i < axes.size(); i++) { adjust *= 31; adjust = ~~adjust; // in GWT, we have to deal with integer overflow carefully } int hash = 1; for (Set<E> axis : axes) { hash = 31 * hash …



13
Javaの&と&&の違いは何ですか?
いつも思っていた &&はJavaの演算子は両方のブールオペランドがtrueであるかどうかを確認するために&使用され、2つの整数型に対してビット単位の演算を実行するために使用される。 最近、&演算子を使用して両方のブールオペランドがtrueであるかどうかを確認することもできることを知りました。唯一の違いは、LHSオペランドがfalseの場合でも、RHSオペランドをチェックすることです。 &Java の演算子は内部的にオーバーロードされていますか?それとも、これの背後にある他の概念はありますか?


13
ブール値のチェックにxor演算子を使用することは良い習慣ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 10か月前に閉鎖。 この質問を改善する 私は個人的のような排他的か、^それは、その簡潔さのブールチェックのコンテキストで理にかなって、オペレータ。私は書く方がずっと好きです if (boolean1 ^ boolean2) { //do it } より if((boolean1 && !boolean2) || (boolean2 && !boolean1)) { //do it } しかし、私はしばしば他の経験豊富なJava開発者(初心者だけでなく)から混乱した見た目になり、時にはそれをビット単位の操作にのみ使用する方法についてコメントします。 ^オペレーターの使用に関するベストプラクティスに興味があります。

12
どの言語にも単項ブールトグル演算子がありますか?
ですから、これは理論的な問題です。C ++とそれに直接(非)基づいている言語(Java、C#、PHP)には、次のようなほとんどの2項演算子の結果を最初のオペランドに割り当てるためのショートカット演算子があります。 a += 3; // for a = a + 3 a *= 3; // for a = a * 3; a <<= 3; // for a = a << 3; しかし、ブール式を切り替えたいときは、いつも次のように書いています a = !a; これaは、長い式のように煩わしくなります。 this.dataSource.trackedObject.currentValue.booleanFlag = !this.dataSource.trackedObject.currentValue.booleanFlag; (そうです、デメテルの法則、私は知っています)。 だから私は、思っていた単項ブールトグルオペレータと任意の言語があり、私は省略することができるようになるa = !aための表現を繰り返すことなくa、たとえばは、 !=a; // or a!!; 私たちの言語に適切なブール型(boolC ++のような)があり、それaがその型(つまりCスタイルではない)であると仮定しましょうint …

15
SwiftでNS_OPTIONSスタイルのビットマスク列挙を作成する方法は?
C APIとの相互作用に関するAppleのドキュメントでは、NS_ENUMマークされたCスタイルの列挙がSwift列挙としてインポートされる方法を説明しています。これは理にかなっており、Swiftの列挙enum型は値の型として簡単に提供されるため、独自の型を作成する方法を簡単に確認できます。 さらに下に、NS_OPTIONSマークされたCスタイルのオプションについて次のように書かれています。 Swiftは、NS_OPTIONSマクロでマークされたオプションもインポートします。オプションは、インポートされた列挙型と同様に振る舞うのに対し、オプションもなど、いくつかのビット単位の操作をサポートすることができ&、|と~。Objective-Cでは、空のオプションセットを定数ゼロ(0)で表します。Swiftでは、nilオプションを使用しないことを表すために使用します。 optionsSwiftに値タイプがない場合、Cスタイルのオプション変数を作成して操作するにはどうすればよいですか?

9
ビット演算子とは何ですか?
私は楽しみのためにコードを書く人であり、学術的または専門的な設定でそれを深く掘り下げていないので、これらのビット単位の演算子のようなものは本当に私をエスケープします。 私はJavaScriptに関する記事を読んでいましたが、これは明らかにビット単位の操作をサポートしています。私はこの操作が何度も言及されているのを見続けていますが、正確にそれが何であるかを理解しようと読みましたが、まったく理解できないようです。それで、彼らは何ですか?明確な例は素晴らしいでしょう!:D もう少し質問-ビット演算の実用的なアプリケーションは何ですか?いつ使用しますか?


4
Javaのブール値に対するビット演算子の影響
ビット演算子は変数を移動し、それらを少しずつ操作することになっています。integers、longs、charsの場合、これは理にかなっています。これらの変数には、サイズによって適用される値の全範囲を含めることができます。 ただし、ブール値の場合、ブール値には2つの値しか含めることができません。1 = trueまたは0 = false。ただし、ブール値のサイズは定義されていません。1バイト程度の大きさでも、少し小さいものでもかまいません。 では、ブール値に対してビットごとの演算子を使用する効果は何ですか?JVMは本質的に、JVMを通常の論理演算子に変換して先に進みますか?演算の目的でブール値を単一ビットエンティティとして扱いますか?または、ブール値と一緒に結果が定義されていませんか?

3
| =(単一のパイプが等しい)および&=(単一のアンパサンドが等しい)の意味
以下の行で: //Folder.Attributes = FileAttributes.Directory | FileAttributes.Hidden | FileAttributes.System | FileAttributes.ReadOnly; Folder.Attributes |= FileAttributes.Directory | FileAttributes.Hidden | FileAttributes.System | FileAttributes.ReadOnly; Folder.Attributes |= ~FileAttributes.System; Folder.Attributes &= ~FileAttributes.System; 何|=(単一のパイプが等しい)と&=(単一のアンパサンド等しい)の平均でC# 、私は他の人を維持しながら、システム属性を削除したいの...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.