HugeInt 1.0.3

HugeInt 1.0.3

Peter Kovacs维护。



HugeInt 1.0.3

  • PeterKovacs

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.....
*/