首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift中的BigInteger等价物?

Swift中的BigInteger等价物?
EN

Stack Overflow用户
提问于 2014-08-28 00:02:07
回答 6查看 25.1K关注 0票数 38

Swift中有没有等同于Java的BigInteger类的类?我打算在Swift中使用大于UInt64最大值的正整数进行大型计算。

在Swift中处理这些数字的最佳方法是什么?

EN

回答 6

Stack Overflow用户

发布于 2014-08-28 03:19:17

您可以使用Cocoa中的NSDecimalNumber类。它不是无限精度,但它可以表示38位小数精度,这可能足以满足您的需要。

票数 12
EN

Stack Overflow用户

发布于 2014-12-04 05:17:54

我还在开发一个BigNumber库,你可以用它来做一些大的数字计算。实际上,这个库是基于GNU Multiple Precision (GMP)库的,我写了一个Objective-C / Swift包装器。目前,包括大量运算符重载在内的大整数数学运算是可能的。代码示例如下:

代码语言:javascript
运行
复制
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())")

这会导致:

代码语言:javascript
运行
复制
Multiply 2 BigInts: bi1 * bi2 = 153933852140173822960829726365674325601913839520

可以在以下位置找到该库:https://github.com/githotto/osxgmp

票数 9
EN

Stack Overflow用户

发布于 2017-11-25 03:30:32

我在Swift官方存储库中找到了一个BigInt的原型:https://github.com/apple/swift/blob/master/test/Prototypes/BigInt.swift

您可以将其复制到您的项目中并使用它。也许有一天它会被添加到标准库中。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25531914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档