質問するログイン新規登録

回答編集履歴

1

対策法(使える環境はは不明)

2016/12/09 02:44

投稿

maisumakun
maisumakun

スコア146706

answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  > **警告** 大きな数値で base_convert() を使用すると、 精度が失われてしまうことがあります。これは、内部で使用している "double" や "float" の性質によるものです。詳細な情報や制限については マニュアルの浮動小数点数 のセクションを参照ください。
4
4
 
5
- ということで、`base_convert`は53ビット(IEEE doubleの仮数部)しか精度がありません。
5
+ ということで、`base_convert`は53ビット(IEEE doubleの仮数部)しか精度がありません。
6
+
7
+ (用意されていれば)GMPはメモリのある限りの桁を扱えますので、[gmp_init](http://php.net/manual/ja/function.gmp-init.php)で16進数表現をGMPに変換して、[gmp_strval](http://php.net/manual/ja/function.gmp-strval.php)で36進数として出力させる、ということができます。