我在玩斯威夫特的整数。有一个奇怪的:
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/