我计划在 Python 中使用非常大的数字,但想知道 Python 是否可以处理非常大的数字。这些数字最多有 3,000 个零。
而且,带有 3,000 个 0 的 1 需要多少字节?
第三个问题,如何使用 Python 将数字作为整数保存到文件中,而不必使用 str() ?
Python 可以使用以下方法存储任意长的整数long
类型,甚至让您指定long
通过附加一个文字L
对他们(例如0L
is a long
零,而不是仅仅0
这是一个int
)。更好的是,它会自动“提升”来自int
s to long
当计算结果太大而无法用表达式表示时int
. long
是一种成熟的数字类型,与所有 Python 数字运算兼容。
如果您需要的不仅仅是整数,那么您需要decimal
模块,其特点是Decimal
类型提供任意大小和精度的实数,而没有二进制浮点表示固有的问题。
两者的缺点long
and Decimal
是他们比int
and float
分别是因为后者有本机硬件支持。但对大数进行数学运算会比根本无法使用这些数字慢一些。
至于尺寸,int
在 32 位 Python 中,对象是 12 个字节。内部 32 位量看似很大,是由于 Python 的“一切都是对象”方法。 (我相信,但不要引用我的话,有 4 个字节用于值,4 个字节用于从实例到类型的指针,4 个字节用于引用计数器,用于确定对象何时可以是垃圾-collected。这些字段在 64 位版本的 Python 上可能会更大。)
的大小long
变化,因为它们根据数量(加上对象开销)而变化,但任何大小long
值可以使用确定sys.getsizeof()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)