整数类型及其范围
了解 Int、UInt、Int8..Int64 及其边界。
整数类型及其范围 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。
Swift 中的整数类型
Swift 提供多种整数类型。Int 是默认类型,其大小与平台字长一致(通常为 64 位)。此外还有 Int8、Int16、Int32 和 Int64 等固定宽度类型。
let count: Int = 42
print(count)
print(type(of: count))有符号与无符号
有符号类型(Int)可以存储负值和正值。无符号类型(UInt)只能存储 zero 和正值,因此拥有更大的正数范围。
let signed: Int = -10
let unsigned: UInt = 10
print(signed, unsigned)固定宽度整数的大小
类型名称中的数字表示位宽。Int8 使用 8 位,Int16 使用 16 位,依此类推。位数越多,范围越大。
print(MemoryLayout<Int8>.size)
print(MemoryLayout<Int16>.size)
print(MemoryLayout<Int64>.size)min 和 max 属性
每种整数类型都会提供 .min 和 .max,分别表示它能表示的最小值和最大值。
print(Int8.min, Int8.max)
print(UInt8.min, UInt8.max)Int8 的范围
有符号 Int8 的范围是 -128 到 127。这种不对称性源于非负一侧需要为 zero 保留一个值。
print("Int8 range:", Int8.min, "to", Int8.max)UInt8 的范围
无符号 UInt8 的范围是 0 到 255。由于不需要符号位,全部 8 位都用于表示数值大小。
print("UInt8 range:", UInt8.min, "to", UInt8.max)更大的整数范围
Int16、Int32 和 Int64 的范围会呈指数增长。Int32 的数值范围就已经超过二十亿。
print("Int16 max:", Int16.max)
print("Int32 max:", Int32.max)
print("Int64 max:", Int64.max)平台 Int
在 64 位平台上,Int 与 Int64 完全相同。除非确实需要固定宽度,否则在一般代码中优先使用普通的 Int。
print("Int.max:", Int.max)
print("Same as Int64:", Int.max == Int64.max)选择整数类型
默认使用 Int。在处理二进制格式、硬件或对内存敏感的数据时,再选择固定宽度类型。
let pixelChannel: UInt8 = 200
let fileOffset: Int64 = 5_000_000_000
print(pixelChannel, fileOffset)使用 min 和 max 检测范围
您可以在运行时使用 .min 和 .max,在转换之前验证某个值是否 fits 目标类型。
let big = 300
let fits = big >= Int(UInt8.min) && big <= Int(UInt8.max)
print("Fits in UInt8:", fits)整数间隔回顾示例
每增加一位,范围大致就会翻倍。这个程序展示了位宽逐步增加的 unsigned 类型的最大值。
print(UInt8.max)
print(UInt16.max)
print(UInt32.max)快速检查
回忆有符号 8 位整数的 exact 范围。
回顾:整数类型和范围
您已经学习了 Int 是与平台大小一致的默认类型,有符号类型可以表示负数,而无符号类型(UInt)从 0 开始;还了解了从 Int8 到 Int64 的固定宽度类型具有明确的 .min/.max 边界,并且边界会随位宽增加而扩大。
print("Defaults and bounds:")
print(Int.max)
print(Int8.min, Int8.max)
print(UInt8.max)常见问题解答
「整数类型及其范围」课时是免费的吗?
是的 — 「整数类型及其范围」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。
「整数类型及其范围」这节课中我会学到什么?
了解 Int、UInt、Int8..Int64 及其边界。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Swift Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「整数类型及其范围」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Swift Academy 课中编写并运行代码吗?
能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。