論理式では、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. をf(a、b)= a * b + a * bと定義すると、なぜa * b?
- 2. (aと(bではない))または(aとb)= aはなぜですか?
- 3. a + bはb + aと等しくないのですか?
- 4. a.compareTo(b)がcompareTo(a、b)またはa.method(b)= method(a、b)と等しいのはなぜですか?
- 5. Prolog - バックトラックで交互にシンボルを生成する:[a]; [a、b]; [a、b、a]; [a、b、a、b]
- 6. C++では、A + = BがA = A + Bよりも好都合です。++ AはA ++になりますか?
- 7. $ A + $ Bと$ A、$ BがTest-Pathと異なる動作をするのはなぜですか?
- 8. ["a"、 "b"、 "c"]の "a、b、c" .split( "、")のメリットは何ですか?
- 9. 「numpy.add(a、b)」と「a + b」の違いは何ですか?
- 10. Javaでは、aとbはブール値です。&& bとb && aは同じ結果になりますか?
- 11. タイプパターンの名前:R a b = Q(a - >(R a b、b))
- 12. {a-b、b-c、c-a}から{(a、b)、(b、c)、(c、a)}に変更しますか?
- 13. 「a <= b && b <= a && a!= b」はどのように真実になりますか?
- 14. double a = a + int bとint a + = double bの違いは何ですか?
- 15. a = return bを返したら、a = bですか?
- 16. なぜ "numpy.random.random((a、b))"が機能しないのですか?
- 17. '(a b c)と(a' b 'cをリストする)の違いは何ですか?
- 18. a/b mod m =(a mod m)/(b mod m)ですか?
- 19. bashの$ [a-b]と$((a-b))の違い
- 20. ¬(a = b)と(a≠b)が異なる言語
- 21. AジョインB対BジョインAの違い
- 22. a = b + aのショートカット。
- 23. なぜgit rebase - on a b、git rebase --onto bはオリジナルとは異なるSHA1を作成するのですか?
- 24. ネームスペースA - floder A /サブフォルダB-サブネームスペースB?
- 25. list a =リストb vsリストa =リストb [:]
- 26. (A、B、Z)IN(A、B、C、E、Z)
- 27. Docker `CMD a b c` VS` CMD ["a"、 "b"、 "c"] `
- 28. A、B、Cにインデックスがある場合、A、Bのインデックスは冗長ですか?
- 29. elasticsearch multi_match "AとB"の結果が "BとA"に等しくない
- 30. X = A - inv(B)* Y * inv(B)とX = Y + A '* inv(B)* Aを計算する方法はありますか?
'&&' vs '&'の選択は**言語固有の構文決定**です。この時点では、主に歴史的な理由があります。同様に、正確なルール(例えば、短絡かどうか)と実装は言語/実行時に固有です。 – user2864740
スレッドに従ってください:http://stackoverflow.com/questions/4163483/what-is-the-diffrence-between-and-operators-in-c-sharp –