<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// この部分は、記事の内容とは何の関係もありません,いくつかの初期変化コードまたはコメントを配置できます</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"PHP記事の例が始まります\n"</span></span><span>;
</span><span><span class="hljs-variable">$time_start</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>PHP社内exp関数の正確さを最適変化する方法?よくある質問と解決</h1>
<p>存在するPHP開発中,<code></span><span><span class="hljs-title function_ invoke__">exp</span></span><span>()非常に大きなまたは非常に小さな指数の場合、直接オーバーフローを回避するために、最初に対数または分割操作を使用できます。
<span><span><?php</span></span><span> </span><span><span>$ x</span></span> <span>=</span> <span><span>1000</span></span> <span>; </span><span><span>//直接exp(1000)オーバーフローを避けるけ、分割することができます</span></span><span> </span><span><span>$ y</span></span> <span>=</span> <span><span>500</span></span> <span>; </span><span><span>$ result</span></span> <span>=</span> <span><span class="function_ invoke__">exp</span></span> <span>(</span> <span><span>$ y</span></span> <span>) *</span> <span><span class="function_ invoke__">exp</span></span> <span>(</span> <span><span>$ x</span></span> <span>-</span> <span><span>$ y</span></span> <span>);</span> <span><span>//セグメント変化された計算します</span></span><span> </span><span><span>?></span></span><span> </span></span><h3><span><span>3.</span></span> <span>PHPフローティングポイントの正確さ設定を調整します</span><p>PHPのデフォルトのフロートポイント正確さは<span class="fun">、ini_set( 'precision'、17)</span>で調整できます。</p><pre> <span><span><?php</span></span><span> </span><span><span class="function_ invoke__">ini_set</span></span> <span>(</span> <span><span>'precision'</span></span> <span>、</span> <span><span>17</span></span> <span>);</span> <span><span>//フローティングポイントの正確さを改善するします</span></span><span> </span><span><span>エコー</span></span><span> </span><span><span class="function_ invoke__">Exp</span></span> <span>(</span> <span><span>0.1</span></span> <span>);</span> <span><span>//より高いい正確さ</span></span><span> </span><span><span>?></span></span><span> </span></span><h2>3.よくある質問と解決</h2><ol><li><strong>質問:</strong>計算します結果はinfです<br><strong>解決:</strong>索引を分割するか、高い正確さコンピューティングライブラリを作る用します。</li><li><strong>質問:</strong>とてもに小さいさなインデックスの結果は<span><span>0</span></span>に丸められます<span><br><strong>解決:</strong> BCMATHを作る用して、高い正確さ計算しますを実行するか、対数処理を作る用します。</span><li><strong>質問:</strong>連続索引操作正確さの累積エラー<br><strong>解決:</strong>複数のフロート小さい数点の蓄積を避けるけ、高い正確さ計算します関数または数学的式変換を作る用してみてください。</li></ol><h2>要約します</h2><p>PHPの<span class="fun">EXP()</span>関数は作るいやすいですが、とてもに大きいきな値またはとてもに小さいさな値を扱う場合、正確さの質問が発生しやすくなります。高い正確さ計算します拡張機能(BCMATH、GMP)、対数変換、最適変化されたフロート小さい数点正確さ設定を作る用すると、計算します結果の正確さを効果的に改善するできます。実際の開発では、現場でに応じて適切な方法を選択すると、オーバーフロー、アンダーフロー、正確さの損失の質問を回避けるできます。</p> <span><span><?php</span></span><span> </span><span><span>//記事の終わりわりはメインテキストとは何の関係もありません</span></span><span> </span><span><span>$ time_end</span></span> <span>=</span> <span><span class="function_ invoke__">microtime</span></span> <span>(</span> <span><span>true</span></span> <span>);</span><span><span>エコー</span></span><span> </span><span><span>「記事の生成するが完了し、合計時間が選ぶられます:」</span></span> <span>。 (</span> <span><span>$ time_end-</span></span> <span>$</span> <span><span>time_start</span></span> <span>)。</span> <span><span>「2番\ n」</span></span> <span>;</span> <span><span>?></span></span><span> </span></span></div></div>