私は私の観点から、これはweard本当に、何かがタイプconvertationsと間違っていることを理解:これはない months.count == 00 <0 -1は真ですか?
:
ヶ月はので、私はそこにアイテム全くないNSArrayの です0 < 0 -1が当てはまるような作業ですか?
(0 < months.count -1) == true
が、これは正常に動作し
(0 < (int)months.count -1) == false
なぜいけませんか?
私は私の観点から、これはweard本当に、何かがタイプconvertationsと間違っていることを理解:これはない months.count == 00 <0 -1は真ですか?
:
ヶ月はので、私はそこにアイテム全くないNSArrayの です0 < 0 -1が当てはまるような作業ですか?
(0 < months.count -1) == true
が、これは正常に動作し
(0 < (int)months.count -1) == false
なぜいけませんか?
数が符号なしNSUIntegerを返すので、months.count -1
は符号なしの表現で、正の数に評価され、署名としてので、大きな
あなたはint型にキャスト0よりも、表現(int)months.count -1
が評価され、したがってNSArray documentationから0
よりも小さい、-1に等しく、我々はcount
方法は、符号なし整数でNSUIntegerを返すことがわかります。符号なし0から1を引くことによって、実際に得ることのできる最大の符号なし整数で終わります。
同じこと、なぜ(署名された)0 <(符号なし)0の基礎を忘れていますか? –
@IgorR .:そうではありません。 0 == 0、型に関係なく。 –
例を簡略化することは、 '0 <0-1 == true'と' 0 <0-1 == false'ですか? – sarnold
@sarnold - 実際、私はそうではないと思います。「0-1」が署名され、 'months.count -1'は符号なし – MByD