答えて
&
は、ビット単位のAND演算子です。 documentationで述べたように、ビット演算子は論理演算子よりも高い優先順位を持っているので、
0 == 0 & 1 == 1
は
0 == (0 & 1) == 1
になり、あなたはそれがそこから下り坂行く想像することができます:
0 == (0 & 1) == 1
=> 0 == 0 == 1
=> 0 == 0 and 0 == 1
=> True and False
=> False
何を想定すると、あなたは欲しかった論理AND、それを行うためのpythonの方法はand
を使用していた:
0 == 0 and 1 == 1
これはあなたの期待通りにTrue
を与えます。
ありがとう!これは私が探していた説明です。 – PollPenn
@PollPennよろしくお願いします! –
これを分割してください。
ここで最も重要な記号は角かっこです。式全体をラッピングすることを除いて、何もしません。
次にビット単位の演算子&
があります。
0 & 1
は、0
に等しい。
これは0
は1
に等しくないとして、我々はFalse
を得る0 == 0 == 1
で私たちを残します。
参考までに、operator precedenceに関するpythonのドキュメントを参照してください。
'0&1'は' 0'を生成し、 '1'は生成しません。' 0&ANYINTEGER'は '0'を生成します。最終結果も同様ですが、中間ステップは間違っています。 – ShadowRanger
おっと、 '|'を考えていたに違いない。ありがとう:P – Shadow
- 1. なぜ$((true == false))はbashで1と評価されますか?
- 2. Math.min([])が0に評価されるのはなぜですか?
- 3. ([1,0] == Trueの1)がFalseに評価されるのはなぜですか?
- 4. -0 === 0が本当に評価されるのはなぜですか?
- 5. Pythonで(1 == 2!= 3)がFalseに評価されるのはなぜですか?
- 6. なぜ!(0 || 1 || 0)は0ですか?
- 7. なぜこのJavaScript式はfalseに評価されますか?
- 8. ルビで1 && 0が0のときに0 && 1が1になるのはなぜですか?
- 9. "(oddNumber And 1)= 1"がtrueに評価されるのはなぜですか?
- 10. VB.Netでこれがfalseに評価されるのはなぜですか?
- 11. (2/3)がレールで0と評価されるのはなぜですか?
- 12. 0 <0は真と評価されますか?
- 13. C言語でif(!( - 1))がtrueまたはfalseに評価されますか?
- 14. Cでは条件式は常に0または1と評価されますか?
- 15. なぜlist.appendはfalseに評価されますか?
- 16. `to_unsigned(0、4)> = -1`は実行時に` FALSE`に評価されるのはなぜですか?以下のテストコードの使用
- 17. なぜ2 + 1&0結果が0ですか? VC2008で
- 18. "(1/6)*(66.900009-62.852596)"がゼロに評価されるのはなぜですか?
- 19. これはなぜFalseに評価されますか?
- 20. Pythonのnumpyが0に変更され、Falseが-1に変更されない
- 21. なぜ2のNULLポインタがfalseに評価されないのですか?
- 22. bool(xml.etree.ElementTree.Element)がFalseに評価されるのはなぜですか?
- 23. なぜ0 == CGFLOAT_MINはfalseですか?
- 24. なぜ0 + 1 == 49ですか?
- 25. なぜ0 === -0は真ですが、1/0 === 1/-0は偽ですか?私はコンソールに次のコードを投稿する
- 26. なぜTrue!= True!= TrueがFalseに評価される
- 27. 「[] == False」は、「[]が成功しなかった場合、Falseに評価されるのはなぜですか?
- 28. 1 [1]がjavascriptで未定義に評価されているのはなぜですか?
- 29. Crystalがこれをfalseと評価するのはなぜですか?
- 30. 次の式がtrueに評価されるのはなぜですか?
論理と操作に 'と'を使用します。 '&'はビット操作に使用されます。 – tsh