【问题标题】:How can I force a number in python to take 32 bits instead of 64 bits [closed]如何强制 python 中的数字采用 32 位而不是 64 位 [关闭]
【发布时间】:2015-01-07 00:25:25
【问题描述】:

所以,我的理解是,在 64 位系统中,python 中声明的数字需要 64 位。是否可以将其设为 32 位,以减少内存?

【问题讨论】:

  • 什么样的号码,使用什么库?例如。在numpy 中,您可以使用dtype 获得非常具体的信息,但例如vanilla intlong 在 2.x 中)是无限精度的。
  • 为什么要这样做?这是一个关于查找变量大小的老问题:stackoverflow.com/questions/14372006/…
  • Python 整数不是“32 位”或“64 位”。它们是 Python 整数。您实际上想在这里解决什么问题?
  • Python 使用arbitrary-precision integers,当需要容纳大整数时,整数的位宽会增长。

标签: python integer


【解决方案1】:

如果您有需要存储的号码列表,您可以使用array.array('l')array.array('L')。您还可以使用ctypes.c_int()ctypes.c_uint()ctypes.c_long()ctypes.c_ulong() 将数字存储在四个字节中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 2022-01-18
    • 2011-06-26
    • 2015-09-12
    • 2017-11-08
    • 2011-01-06
    相关资源
    最近更新 更多