我正在写一个iPhone应用程序。假设我有一个LENGTH 256的整数,即94736的长度为5,3745,长度为4,等等。什么样的数据类型可以适合256的长度?
答案 0 :(得分:2)
它必须是一个数字吗?你会用它做数学运算吗?如果没有,你应该只使用NSString。
答案 1 :(得分:1)
NSInteger的最大值为NSIntegerMax
,在iphone中为32位。
(2.147.483.647)
但是你应该将256个密码上的数字视为 NSString 。
答案 2 :(得分:1)
我认为你可以使用double,但仅限于可用的精度。或者也许您可以将其存储为字符串并编写自己的函数来操作它们,例如加号,减号。这可能很难。
答案 3 :(得分:0)
你应该看NSDecimalNumber
它的包装器是一个不可变的包装器,用于对数字上的数字进行算术运算,表示为*尾数* 10 ^指数*,其中尾数尾数是一个长达38位的十进制整数,并且是指数是-128到127之间的整数。
如果您对256位尾数的要求是一项硬性要求,则不适合。如果您希望能够处理该订单上的数字,那么这是合适的。
如果您确实需要具有完美精度的那么大小的数字,那么请查看http://gmplib.org/处的GNU MP Bignum Library。 GNU MP可以支持的数字限制仅受可用RAM的限制。它是用C语言编写的,因此可以像iPhone应用程序一样轻松使用。
答案 4 :(得分:0)
对于一个学校项目,我使用长度为256 +的数字。我解决它的方法是构建一个类来将数字存储为数组。
例如,我将345存储为[3,4,5]。这样,您只能使用可用的内存量。
我写了正数的乘法,加法和减法的方法。不太难,而且运作良好。
如果你正在考虑用数字做数学,我会建议同样的事情。然后只需实现您需要的功能。
这是使用xcode作为编译器在c ++中完成的。
答案 5 :(得分:-1)
最大数量是10 ^ 256 - 1(10到256的功率减去1)