gpt4 book ai didi

language-agnostic - 你怎么能处理荒谬的大数字?

转载 作者:行者123 更新时间:2023-12-03 23:40:54 25 4
gpt4 key购买 nike

在某些情况下,程序员需要或想要找到非常大的数字。这些通常非常大,以至于他们无视程序员的理解。我在谈论诸如 the largest known prime number 之类的事情(12978189 位)和最近计算的 10 trillion digits of pi .

您如何创建一个程序来处理这些问题?这远远超过了整数、长整型、 double 型、BigInteger、BigDecimal 或任何类型的东西。这些用于发现这些数字的程序是如何创建的?当没有合适的数据类型存在时,您如何将它们存储在内存中,并且它们可能会消耗千兆字节的数据?

最佳答案

要解决您的具体示例:

  • 一个 1200 万位数的整数对于典型的“大整数”类来说并不是很大。这应该能够存储在内存中。
  • 要存储 10 万亿位 π,您可以使用磁盘文件并对其进行内存映射。你需要一个 64 位的操作系统和应用程序,但你可以简单地在磁盘上创建一个 10 TB 的文件(你可能需要一些磁盘和一个文件系统,如 ZFS 可以跨磁盘存储它),并将其映射到CPU地址空间。计算 π 的算法(例如 BBP )可以方便地一次计算一个十六进制数字,这正好适合半字节的内存。
  • 关于language-agnostic - 你怎么能处理荒谬的大数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544225/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com