BASE
Gforth v0.7.2+dfsg1-1.1中的最大值(用于转换ABC
为数字并再次返回)似乎是出乎意料的大960,383,882。该数字是通过将 Gforth 的输出与(一个任意精度的计算器,它可以在大约一秒calc
内输出所有 76,976 位数字)进行比较来找到和测试的,如下所示被认为是正确的:(27^3)!
calc
# Output Gforth calculation of (12*b^2)+(11*b^1)+(10*b^0) to
# base 10 and inversely back to base b.
b=960383882 n=ABC ; bd=$(gforth -e $b' base ! '$n' decimal . cr bye')
gforth -e "${bd} dup . cr $b"' base ! . cr bye'
calc "10*($b^2)+11*($b^1)+12*($b^0)" | xargs echo
9223372018618121954
ABC
9223372018618121954
# It fails here:
b=960383883 n=ABC ; bd=$(gforth -e $b' base ! '$n' decimal . cr bye')
gforth -e "${bd} dup . cr $b"' base ! . cr bye'
calc "10*($b^2)+11*($b^1)+12*($b^0)" | xargs echo
-9223372035883752001
-A8f
9223372037825799615
$n
(即上面代码中的)的上限测试n=ABC
待定...