JavaScript で次のことを行う必要がありますが、これまでシームレスに実行するためのソリューションを見つけることができませんでした:
- 2 つの整数を特定の順序で取得し、Python の struct モジュールのようにパックします。
このパックされた値 (ホストとは異なるエンディアンをサポートするためのボーナス) は、64 ビット float (double) に変換されます。それらは任意である必要があるため、整数の指数表現を取得する可能性があります (たとえば、0xdeadbeef と 500 である可能性があります)。
exp 形式: 1.0883076389305e-311 1.0883076389305000 * 10 ^ - 311
それを任意精度の非指数形式に変換する必要があるので、次のようにします。
0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108830763893050000000000000000000000000000000000000000000000000000000000000000000000000000
その数値は文字列に変換されました:)
Javascript でこれを行う方法が見つからず、任意の精度、または少なくとも倍精度の 1024 指数 (または、400) までのスケールをサポートする必要があるような数値を出力する必要があります。
ありがとう!!
注: double/64bit float に変換された 2 つの数値を忠実に表現するには、「packing/unpacking」が必要です。 double の任意精度の double 表現を取得しても問題ありません。