想知道这种指数的大小如何估算,比如有多少个二进制或者十进制位。
有人定义过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
虽然我也不懂,不过 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。
log10(2)
0.3
2^2^2^2^2^2
0.3*2*2*2*2*2 = 9.6
0.301
0.301*2*2*2*2*2 = 9.63
10^0.63
二进制应该可以一样来弄ln2 = 1,1*2*2*2*2*2 = 16,17位数……(好像有啥不对?嘛,二进制我搞不清楚……)
ln2 = 1
1*2*2*2*2*2 = 16
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
有人定义过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
虽然我也不懂,不过 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位数……(好像有啥不对?嘛,二进制我搞不清楚……)