使用斯威夫特,閹羊在終端或操場上,當我進入一個新行:爲什麼在Swift中UInt64 max等於-1?
UInt64.max
我得到-1的結果值。
這是一個錯誤?
編輯:例子
$ xcrun swift
Welcome to Swift! Type :help for assistance.
1> UInt64.max/2
$R1: UInt64 = 9223372036854775807
2> UInt64.max/2 + 1
$R2: UInt64 = -9223372036854775808
3> UInt64.max
$R3: UInt64 = -1
4> println(UInt64.max/2)
9223372036854775807
5> println(UInt64.max/2 + 1)
9223372036854775808
6> println(UInt64.max)
18446744073709551615
你如何檢查返回值? – dasblinkenlight
我的意思是在遊樂場線或Swift終端中輸入 - 更新的問題。 – Spectravideo328
我認爲這是操作系統實現中的一個錯誤:它們將它重新解釋爲其他東西(無論是有符號的int64還是int32)。你爲'UInt64.max/4'獲得什麼? – dasblinkenlight