1

私は base10 を bas32 に変換するルーチンを持っていますが、興味深いことに、オンライン変換ツールを使用していくつかの数値を再確認すると、問題があるようです。ここにいくつかの数値と私の変換の結果があります:

9990330227991015 = 8RU4S26R8F7
9990330227991016 = 8RU4S26R8F8
9990330227991017 = 8RU4S26R8F9

ただし、いくつかのオンライン ツール ( http://www.unitconversion.org/numbers/base-10-to-base-32-conversion.htmlhttp://www.kaagaard.dk/service/など) を使用した 3 つの数字すべてconvert.htm ) 8RU4S26R8F8 を返します。数字の長さかもしれないと思ったのですが、高くしたり低くしたりすると変換が変わります。

なぜこれが必要なのですか?

4

2 に答える 2

3

クライアントが変換ツールを使用した後に以下を受け取ったため、Delphi で開発されたソフトウェアとまったく同じ数値でこの問題を調査したので、この投稿を見つけたのはおかしいです:-

9990330227991015 = 8RU4S26R8F8
9990330227991016 = 8RU4S26R8F8
9990330227991017 = 8RU4S26R8F8

あなたが参照しているオンライン ツールは、当社のツールが正しくないのと同じ理由で正しくありません。基本的に浮動小数点を使用せず、64 ビット整数を使用して大きな数をより正確に処理します。

修正プログラムがクライアントに配信されようとしています...

于 2013-01-23T11:59:51.620 に答える
1

私が見たオンラインツールはおそらくInt64ではなく実数を使用しているというのが一般的なコンセンサスのようです。浮動小数点数を使用すると、上記の誤った結果が得られます。

于 2013-01-23T14:18:14.180 に答える