論理式では、2つの "and(&)"オペランドを使用しますが、その理由は何ですか?それはプログラムの背景でどのように機能するのですか?私はマシンがその命令をどのように実行するのかを意味しますか?なぜ(a && b)ではなく(a&b)を記述するのですか?
0
A
答えて
1
&
はビット単位の演算子であり、常に両辺を評価します。
&&
は論理演算子なので、左側が評価され、true
の場合は右側が評価されます。そのため、&&
を使って短絡動作と呼ばれることがあります。
これは、言及された演算子が膨大な数の言語(C、C#、Javaなど)でどのように実装されているかを示しています。
0
は、典型的には2つを有する "と" オペランド論理ととビット単位のAND間を区別することです。
これらの操作の違いは何ですか?
(通常、ほとんどの言語で& &か「と」として表される)「論理とは、」2つのブール値を比較します。ここで重要なのは、「論理AND」は、真または偽の値に対する操作を実行することです。真と偽がどのようにビットの面で表現されるかの基本的な実装は、本当に重要ではありません。
"Bitwise and"(単一の "&"で表されます)は、これらの値のすべてのビットに対して2つの値の間で "論理"を実行します。。たとえば、2つの8ビットの符号なし整数:5と9をとります。バイナリでは、5は00000101のように見えます。9は00001001のように見えます。 "ビット単位の"とは、で1に設定されたビットを計算して、の数です。ビット単位で5と9の間の結果は1になり、バイナリでは00000001になります。
「ビット単位の操作」をGoogleで検索すると、これに関する詳細が表示されます。
関連する問題
- 1. a.compareTo(b)がcompareTo(a、b)またはa.method(b)= method(a、b)と等しいのはなぜですか?
- 2. ["a"、 "b"、 "c"]の "a、b、c" .split( "、")のメリットは何ですか?
- 3. タイプパターンの名前:R a b = Q(a - >(R a b、b))
- 4. 「a <= b && b <= a && a!= b」はどのように真実になりますか?
- 5. double a = a + int bとint a + = double bの違いは何ですか?
- 6. a = return bを返したら、a = bですか?
- 7. ¬(a = b)と(a≠b)が異なる言語
- 8. a/b mod m =(a mod m)/(b mod m)ですか?
- 9. a = b + aのショートカット。
- 10. '(a b c)と(a' b 'cをリストする)の違いは何ですか?
- 11. numexpr.evaluate( "a + b"、out = a)
- 12. なぜgit rebase - on a b、git rebase --onto bはオリジナルとは異なるSHA1を作成するのですか?
- 13. X = A - inv(B)* Y * inv(B)とX = Y + A '* inv(B)* Aを計算する方法はありますか?
- 14. A、B、Cにインデックスがある場合、A、Bのインデックスは冗長ですか?
- 15. なぜ `return a or b`がRubyのvoid式エラーですか?
- 16. オブジェクトAはBのメンバーであり、オブジェクトBはAのメンバです
- 17. log(a * b)はlog(a)+ log(b)より常にMatlabで高速ですか?
- 18. Cブロックは式になります:({int a = 1; int b = 2; a + b;})は3に等しくなります
- 19. プログラミングでKleeneの星。 (a | b)*とa * b *の違い?
- 20. x = function(a、b、c){}と関数x(a、b、c){}の違いは何ですか?
- 21. プロローグ入力 `(a、z、b)`を `[a、z、b]`に変換する
- 22. なぜ "a + + b"は動作しますが、 "a ++ b"は動作しませんか?
- 23. なぜB = numpy.dot(A、x)はB [i、:、:] = numpy.dot(A [i、:、:]、x))を実行するとループが遅くなるのですか?
- 24. なぜ(a、(b、(c、(d、())))))のための砂糖ではないのですか?
- 25. GWT - サービスBのメソッドBからサービスAのメソッドAを取得するには?
- 26. クラスaではなくクラスbであるCSSセレクタ
- 27. Functorは(a - > b) - >(f a - > f b)であり、(cカテゴリ)=> c a b - > c(f a)(f b)とは何か?
- 28. [:] = bとa = b [:]の違いは何ですか?
- 29. 「A」、「B」、「AまたはB」のT-SQLの数値
- 30. [:] = bとa = b [:]の違いは? (Python)
'&&' vs '&'の選択は**言語固有の構文決定**です。この時点では、主に歴史的な理由があります。同様に、正確なルール(例えば、短絡かどうか)と実装は言語/実行時に固有です。 – user2864740
スレッドに従ってください:http://stackoverflow.com/questions/4163483/what-is-the-diffrence-between-and-operators-in-c-sharp –