スタックのおかげで、浮動小数点の不正確さについて学んだので、bc 関数に行きました。
10^-10
これは「通常の」フロートではうまく機能しますが、タイプなどの非常に小さなフロートではbcadd
常に0
.
これらの小さなフロートを正確に追加するために私が間違っていることを誰かに教えてもらえますか?
よろしくお願いします!
PHP
$numerator = 1;
$denominator = 1000000000;
$quotientOne = $numerator / $denominator;
$numerator = 1;
$denominator = 1000000000000000;
$quotientTwo = $numerator / $denominator;
$smallSum = bcadd($quotientOne, $quotientTwo, 100);
echo $quotientOne . "<br>";
echo $quotientTwo . "<br>";
echo $smallSum . "<br>";
与える
1.0E-9
1.0E-15
0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000