我正在搜索基数为31的计算器,也就是说,我希望输入和输出都是基数31。(实际上,我并不太关心数字的格式,只关心它很容易写。因此,例如‘013456789ABCDEFGHIJKLMNOPQRSTU’就可以了。)
因为你可以定义ibase=x; obase=x,所以bc接缝是小底座的好选择。但是ibase有一个上限--那就是16,因为它不想使用比F更大的数字。
有什么解决方法吗?或者,也许是一种重新编译bc的方法,它可以支持更大的基础?或者,有没有bc的替代方案,至少可以完成基本的算术运算(比如+,-,/,*,^)?
发布于 2013-05-04 03:06:31
如果你只想做一些计算,而不是繁重的数字运算,你可以结合使用我的计算器Kalkulon和一个简单的Kalkulon script for big number arithmetic。交互式Kalkulon会话如下所示:
Load("examples/bignum.k")
outl[1] = 0
string2Bn("1234567890ABCDEFGHIJKLMNOPQRSTU",31)
outl[2] = {587, 938220, 58035, 844882, 441786, 886253, 755598, 800665}
string2Bn("UTSR",31)
outl[3] = {922494}
mulBn(outl[2], outl[3])
outl[4] = {542, 369480, 374217, 718688, 983253, 751847, 772017, 360020, 658510}
printBn(out)
542369480374217718688983253751847772017360020658510
outl[5] = 51
Bn2string(outl[4],31)
outl[6] = "121UOIC5UEHLRAUOIC5UOIC5UOIC5UNHB64"
divBn(outl[4], outl[2])
outl[7] = {922494}
Bn2string(out,31)
outl[8] = "UTSR"我只是好奇:你为什么要以31为基数来计算?
https://stackoverflow.com/questions/16364957
复制相似问题