【发布时间】:2011-06-02 17:25:00
【问题描述】:
如何让 python 使用 1099511627776 位大(是的。137 GB)数量级的值?我需要一些实现这一点的东西(或者如果你能提出更好的方法来做到这一点,将改变方法)。显然,pgp 的新长度类型有 3 个部分而不是 2 个部分。现在它们是:长度类型、长度值类型和长度。长度类型为 2 位,转换为 191 字节、8383 字节、4294967296 字节或部分长度。然后长度以字节编码。如果我什至不能做1 << (4294967296 << 8),我将如何检查一个值是否小于 4294967296 字节?它太大了,放不下。
【问题讨论】:
-
...哎呀!处理这么大的“数字”是不理智、不实际或不可取的。它需要被分解成碎片——例如50GB 的数据库一般不会一次加载。
-
你碰巧知道pgp是怎么做的吗?
-
@calcrypto 如果它确实处理如此庞大的数字,我想它会以“压缩”形式存储它——就像primes.utm.edu/largest.html :-) 源可用吗?虽然,看看素数......最大的“只有”1200万位数长。
-
嗯,我认为任何 pgp 块都没有那么大......是的,源代码是可用的,但是我在阅读其他人的代码方面很糟糕,所以我找不到这个部分,更不用说数字了他们做了什么
-
我正在尝试设想一个精确到一千亿有效数字的数字的实际用途,但失败了。
标签: python math int long-integer openpgp