Swift 中的 Int 类型提供了许多常用的方法和属性,这些工具涵盖了数学运算、格式化、随机生成、转换等功能,方便开发者高效地处理整数数据。
创建和随机数生成
1、Int.random(in:)
生成指定范围内的随机整数。
let randomInt = Int.random(in: 1...100)
print(randomInt) // 输出 1 到 100 之间的随机数
2、init(_:radix:)
将字符串转换为指定进制的整数。
let binary = Int("1101", radix: 2) // 二进制
print(binary ?? 0) // 输出 13
转换相关
1、String(describing:)
将整数转换为字符串。
let num = 42
let str = String(num)
print(str) // "42"
2、Double(_:) / Float(_:)
将整数转换为浮点数。
let num = 10
let doubleValue = Double(num)
print(doubleValue) // 10.0
数学运算
1、isMultiple(of:)
检查一个整数是否是另一个整数的倍数。
let num = 10
print(num.isMultiple(of: 5)) // true
2、magnitude
获取整数的绝对值。
let num = -42
print(num.magnitude) // 42
3、abs(_:)
求绝对值(全局函数)。
let num = -10
print(abs(num)) // 10
4、signum()
返回整数的符号:-1(负数)、0(零)或 1(正数)。
let num = -42
print(num.signum()) // -1
位运算
&(按位与)
|(按位或)
^(按位异或)
~(按位取反)
>>(右移)和 <<(左移)
示例:
let a = 6 // 二进制 110
let b = 3 // 二进制 011
print(a & b) // 2 (二进制 010)
print(a | b) // 7 (二进制 111)
print(a ^ b) // 5 (二进制 101)
print(~a) // -7 (取反)
进制转换
1、description
默认的十进制字符串表示。
let num = 0x11
print(num.description) // "17"
2、String(_:radix:)
将整数转换为指定进制字符串。
let num = 255
print(String(num, radix: 2)) // "11111111" (二进制)
print(String(num, radix: 16)) // "ff" (十六进制)
比较
1、min(_:_:) 和 max(_:_:)
获取两个数的最小值或最大值。
let a = 10, b = 20
print(min(a, b)) // 10
print(max(a, b)) // 20
2、clamping(to:)
将值限制在指定的范围内。
let num = 15
print(num.clamping(to: 0...10)) // 10
注意:这个方法需要手动实现。
extension Comparable {
func clamping(to limits: ClosedRange<Self>) -> Self {
return min(max(self, limits.lowerBound), limits.upperBound)
}
}
范围和步进
1、stride(from:to:by:) 和 stride(from:through:by:)
生成一个步进范围。
for i in stride(from: 0, to: 10, by: 2) {
print(i) // 输出 0, 2, 4, 6, 8
}
类型信息
1、bitWidth
表示整数在内存中的位宽。
let num = 42
print(num.bitWidth) // 64 (在 64 位系统上)
2、leadingZeroBitCount
二进制表示中前导零的个数。
let num = 8 // 二进制 1000
print(num.leadingZeroBitCount) // 60
3、trailingZeroBitCount
二进制表示中后导零的个数。
let num = 8 // 二进制 1000
print(num.trailingZeroBitCount) // 3
4、nonzeroBitCount
二进制表示中 1 的个数。
let num = 7 // 二进制 0111
print(num.nonzeroBitCount) // 3
最大值和最小值
1、Int.max 和 Int.min
获取整数类型的最大值和最小值。
print(Int.max) // 9223372036854775807
print(Int.min) // -9223372036854775808
运算符重载
Swift 的 Int 支持许多运算符,包括:
算术运算符:+, -, *, /, %
比较运算符:==, !=, <, <=, >, >=
位运算符:&, |, ^, ~, <<, >>
示例:
let a = 10, b = 20
print(a + b) // 30
print(a < b) // true
总结
1、随机数生成:Int.random(in:)
2、转换:String(_:radix:), Double(_:)
3、数学运算:isMultiple(of:), abs(_:)
4、比特操作:&, `
5、进制转换:String(_:radix:), description
6、类型信息:bitWidth, leadingZeroBitCount
7、最大/最小值:Int.max, Int.min