HugeInt
这是一个简明的纯Swift库,用于帮助处理大整数值(通常用于增量游戏)。上限仅限于设备的内存。数值显示:1 = 1,1000 = 1a,1000000 = 1b 等... 支持的操作:+,-,*,/,%,<<,>>。 (位移移动x位数,意味着乘以或除以1000ˆx,例如:1a << 1 = 1b)
安装
CocoaPods
CocoaPods 是Cocoa项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
要在CocoaPods中使用CocoaPods将HugeInt集成到您的Xcode项目中,在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target 'MyApp' do
pod 'HugeInt', '~> 1.0'
end
然后,运行以下命令
$ pod install
使用
创建一个大整数
// a == b == c == d == 50000
let a = HugeInt(with: 50000)
let b = HugeInt(with: (50, "a"))
let c = HugeInt(with: (50.0, "a"))
let d = HugeInt(with: [1:HugeDigit(position: 1, value: 50)], isNegative:false)
创建一个大数字
HugeDigits 表示一个 HugeInt 的一个数字。
// a == b == 50000
let a = HugeDigit(position: 1 value:50)
let b = HugeDigit(with: "a", value:50)
操作
HugeInt 遵循 Comparable 协议,所以支持以下运算符:<, >, <=, >=, ==
其他支持的运算符:+,-,*,/,%,<<,>>
let a = HugeInt(with: 50000)
let b = HugeInt(with: (10, "a"))
var c = a + b
print("a + b = \(c.hugeIntValue)")
c = a - b
print("a - b = \(c.hugeIntValue)")
c = a * b
print("a * b = \(c.hugeIntValue)")
c = a / b
print("a / b = \(c.hugeIntValue)")
c = a % b
print("a % b = \(c.hugeIntValue)")
c = a << 2
print("a << 2 = \(c.hugeIntValue)")
c = a >> 1
print("a >> 1 = \(c.hugeIntValue)")
c = a.power(2)
print("a pow 2 = \(c.hugeDoubleValue)")
c = a.power((1,"a"))
print("a pow 1a = \(c.hugeDoubleValue)")
/**
The result:
a + b = (60, "a") // 60.000
a - b = (40, "a") // 40.000
a * b = (500, "b") // 500.000.000
a / b = (5, "") // 5
a % b = (0, "") // 0
a << 2 = (50, "c") // 50.000.000.000
a >> 1 = (50, "") // 50
a pow 2 = (2.5, "c")// 25.000.000.000
a pow 1a = (9.33, "bhf") // 9.330.000.000.....
*/