私はモジュラスでそれを理解してい17/12 = 5
ます。
なぜ4+17 % 2-1
値が4
で(4+17) % 2-1
、値が なの0
ですか?
私はモジュラスでそれを理解してい17/12 = 5
ます。
なぜ4+17 % 2-1
値が4
で(4+17) % 2-1
、値が なの0
ですか?
演算子の優先順位。%
が最初に評価されるので、
4 + 17 % 2 - 1
と同等です
4 + (17 % 2) - 1
17%2 == 1
どれが4+1-1
等しいか4
そこに括弧を置くと、評価の順序が変わります:
(4+17) % 2 - 1
と同等です
21 % 2 - 1
これも、%
よりも優先順位が高いため-
、結果が得られます
1 - 1
これは0
4+17 % 2-1
4+(17 % 2)-1
= 4 + 1 -1
=として解釈されます4
(% 演算子の優先順位は+
andよりも高くなり-
ます)
(4+17) % 2-1
= 21 % 2 -1
= (21 % 2)-1
= 1-1
=0