Swift Int常用方法和属性
Swift Int常用方法和属性

Swift Int常用方法和属性

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

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注