0

基数 31 の電卓を探しています。つまり、入力と出力の両方を基数 31 にしたいのです。例 `013456789ABCDEFGHIJKLMNOPQRSTU' は問題ありません。)

bcあなたが定義できるように、縫い目は小さなベースに適したオプションですibase=x; obase=x。ただし、ibase には上限があり、F より大きな数字を使用したくないため、16 です。

そのための回避策はありますか?または、bcより大きなベースをサポートする方法で再コンパイルする方法はありますか? bcまたは、代わりに、少なくとも基本的な算術演算 (+、-、​​/、*、^ など) を行う代替手段はありますか?

4

1 に答える 1

0

重い計算ではなく、いくつかの計算だけを行いたい場合は、私の計算機Kalkulonを、大きな数の計算用の単純な 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 で計算したいのですか?

于 2013-05-03T19:06:30.523 に答える