想知道这种指数的大小如何估算,比如有多少个二进制或者十进制位。
虽然我也不懂,不过 WolframAlpha 知道:
http://www.wolframalpha.com/input/?i=2%5E2%5E2%5E2%5E2%5E2
二进制位:2^65536 个
十进制位:的确是可以用 log 的方法:有 2^65536 * log10(2) 个。
我在运算顺序上坑了。呜咦……
如果是只算位数的话,直接用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 = 1
,1*2*2*2*2*2 = 16
,17位数……
(好像有啥不对?嘛,二进制我搞不清楚……)
1 回答3.4k 阅读✓ 已解决
1 回答2.8k 阅读
2.5k 阅读
1 回答540 阅读✓ 已解决
1 回答1.1k 阅读
1 回答506 阅读✓ 已解决
有人定义过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