我在玩斯威夫特的整数。有一个奇怪的:

let uIntMax8 = UInt8.max
let uIntMax16 = UInt16.max
let sumInt32: Int32 = Int32(uIntMax16 + UInt16(uIntMax8))
sumInt32

斯威夫特不能为我计算出sum
为什么?

最佳答案

因为uIntMax16 + UInt16(uIntMax8)不能放入16位。根据定义,向UInt16.max添加任何内容都将超过16位。在进行加法运算之前,您需要将两个总和转换为UInt32

关于integer - Swift:两个最大整数之和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24109291/

10-10 20:38