在苹果Swift中使用巨大的数字

iva*_*024 0 numbers swift

我不是程序员,我只想在空闲时间写一些代码!我曾经在python3中编程,现在我正在尝试学习苹果的Swift.我的问题:

在python3中我使用没有问题真的很大的数字,如10**1000,我可以打印它们,用它们做数学运算,等等.在Swift中,我不能这样做,因为从10**300或10**400开始,Double和Float类型都会给出"+ infinity",所以我不能打印它,也不能用它做任何操作. ..

我怎么解决这个问题?(PS.如果有人有兴趣,我正在尝试做一些ProjectEuler的问题!http: //projecteuler.net )先谢谢你,对不起我可能有女佣的错误,我不是英国人,这是我的第一次在StackOverflow上!

iOS*_*der 7

我正在开发一个BigNumber库,您可以使用它来进行大量的计算.实际上该库基于GNU多精度(GMP)库,我编写了一个Objective-C/Swift包装器.目前大整数数学,包括很多运算符重载,都是可能的.代码示例如下:

var err : NSError?
var bi1 = BigInt(nr: 12468642135797531)
var bi2 = BigInt(nr: "12345678901011121314151617181920", error: &err)
var res = bi1 * bi2
println("Multiply 2 BigInts: bi1 * bi2 = \(res.toString())")
Run Code Online (Sandbox Code Playgroud)

这导致:

Multiply 2 BigInts: bi1 * bi2 = 153933852140173822960829726365674325601913839520
Run Code Online (Sandbox Code Playgroud)

我希望库(参见:https://github.com/githotto/osxgmp)对您有用.