Ios 大于无符号长

Ios 大于无符号长,ios,objective-c,numbers,Ios,Objective C,Numbers,我正在开发一款iOS Objective C应用程序,你可以在其中积累大量财富。到应用程序结束时,用户可以积累的金额超过了一个长时间的处理能力。我应该改用什么数据类型?我知道我可以使用未签名的long,但这只会增加一点点。为了安全起见,我需要用户多输入6位数字,所以最大值不是18446744073709551615(大约1.8x10^19),而是最好将1.8x10^25作为我的最大值 实际上,精度最终并不是那么重要,但如果我不必在整个应用程序中只更改数据类型,那么肯定可以节省时间。有什么想法吗?

我正在开发一款iOS Objective C应用程序,你可以在其中积累大量财富。到应用程序结束时,用户可以积累的金额超过了一个长时间的处理能力。我应该改用什么数据类型?我知道我可以使用未签名的long,但这只会增加一点点。为了安全起见,我需要用户多输入6位数字,所以最大值不是18446744073709551615(大约1.8x10^19),而是最好将1.8x10^25作为我的最大值


实际上,精度最终并不是那么重要,但如果我不必在整个应用程序中只更改数据类型,那么肯定可以节省时间。有什么想法吗?

简短回答
去第三方图书馆

长答案
在处理大数字时,最基本的设计决策之一可能是如何表示大数字

它是一个字符串、一个数组、一个列表还是一个自定义(自行开发的)存储类

在做出这个决定之后,实际的数学运算可以分解成更小的部分,然后使用本机语言类型(如int或integer)执行

即使使用字符串,字符数或数字中的“数字”也有限制,如下所示:


您可能还想查看:

。除了使用库之外,还有其他想法吗?这样做意味着我需要确保它遵循NSCoding协议,因为我正在使用该协议来保存数据。NSDecimalNumber呢?非常确定,再加上六个零,特朗普的财富将达到万亿倍(假设你相信他估计的约100亿美元)。这是很多特朗普式的改变。为什么是第三方图书馆?只需使用
NSDecimalNumber
,它支持比OP需要大得多的数字。