如何估算 2^2^2^2^2^2 的大小?

发布于 2022-08-28 01:07:59 字数 40 浏览 21 评论 0

想知道这种指数的大小如何估算,比如有多少个二进制或者十进制位。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

眼眸里的快感 2022-09-04 01:07:59

有人定义过b个a写成(a^a^...^a)的这个运算叫“Tetration”。

详情看Matrix67的这篇文章: http://www.matrix67.com/blog/archives/3857

以我的估计,很难有一个有效的方法有效的表示Tetration的对数运算。因为Tetration本来就是形成相当大数量的运算,增长实在是太快了,甚至指数运算也兜不住它。表示一个Tetration运算出来的数,甚至没有明显比Tetration更可行的其他形式。

另有这个Wiki页面,似乎提供了一些估计的方法,还没详细看。http://en.citizendium.org/wiki/tetration

莫言歌 2022-09-04 01:07:59

虽然我也不懂,不过 WolframAlpha 知道:

http://www.wolframalpha.com/input/?i=2%5E2%5E2%5E2%5E2%5E2

二进制位:2^65536 个
十进制位:的确是可以用 log 的方法:有 2^65536 * log10(2) 个。

污味仙女 2022-09-04 01:07:59

我在运算顺序上坑了。呜咦……

如果是只算位数的话,直接用log来估一下嘛。
比如log10(2)大概是0.3多一点点, 2^2^2^2^2^2 的位数大概就是 0.3*2*2*2*2*2 = 9.6,向上补整是10位数。
如果要估算首位数字,那log10(2)的精度要高一点,考虑到第二位影响,估算至少需要小数点后3位,按0.301来估。这样0.301*2*2*2*2*2 = 9.63,首位数字是 10^0.63。因为log10(2) 大约 0.301,估计 10^0.63会比4大一点点,可以估算首位为4。

二进制应该可以一样来弄
ln2 = 11*2*2*2*2*2 = 16,17位数……
(好像有啥不对?嘛,二进制我搞不清楚……)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文