JavaScript で大きな数を 16 進文字列に変換する方法を見つける必要があります。すぐに試してみmyBigNumber.toString(16)
ましたが、myBigNumber
値が非常に大きい場合 (例: 1298925419114529174706173) myBigNumber.toString(16)
、間違った結果が返されますが、これは素晴らしいことです。次のように独自の関数で書いてみました:
function (integer) {
var result = '';
while (integer) {
result = (integer % 16).toString(16) + result;
integer = Math.floor(integer / 16);
}
}
ただし、16 を法とする大きな数はすべて 0 を返します (この根本的な問題が で問題を引き起こしていると思いますtoString
。 に置き換え(integer % 16)
てみまし(integer - 16 * Math.floor(integer/16))
たが、同じ問題がありました。
Big Integer Javascript ライブラリも調べましたが、これは 1 つの巨大なプラグインであり、できれば比較的簡単な問題です。
有効な結果を得る方法について何か考えはありますか? たぶん、ある種の分割統治アプローチですか?私は本当にここで立ち往生しています。