【问题标题】:Confusion about the maximum computable value for 64-bit signed integer [duplicate]关于 64 位有符号整数的最大可计算值的困惑 [重复]
【发布时间】:2023-03-18 11:12:01
【问题描述】:

根据维基百科:

数字 2^63 − 1= 9,223,372,036,854,775,807,是计算中 64 位有符号整数的最大值。

如果我正确理解这一点,这意味着像添加超过此阈值的数字这样的计算是不可能的。另一方面,在我的机器上运行print(2**63+2)print(2**100) 时会给出正确答案。所以我不明白“计算中64位有符号整数的最大值”的含义。

【问题讨论】:

  • 为什么这让你感到困惑? Python 不使用固定大小的整数
  • 投票结束,直到您明确说明导致您困惑的假设。现在你提出了一堆本质上不相关的事实并声称混淆了。
  • “如果我理解正确,这意味着像添加超过这个阈值的数字这样的计算是不可能的。”仅当您使用 64 位整数时。例如,您可以使用 128 位整数或任意大小的整数(如 Python 中的 int 类型)。
  • 注意,word-size 确实对整数的最大大小设置了理论上的限制,因为用于存储表示整数的字节的数组被限制为由字长(64 位进程上的 64 位)。当然,在地址空间用完之前,您实际上可能会先用完内存

标签: python 64-bit


【解决方案1】:

如果您对 python 如何做到这一点感兴趣,请查看article

【讨论】:

    猜你喜欢
    • 2018-11-05
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多