ホームページ >バックエンド開発 >PHPチュートリアル >PHPの乗算にバグがあるのでしょうか?
phpの乗算にバグがあるのでしょうか?
85112854 * 4294967296 + 384440042
sprintf("%.0f"を使った計算結果は365556924783662848、電卓で計算した結果は365556924783662826
これには困りました問題 大きな頭が死んでいます。
理由を知っている人はいますか?
------解決策-- -
このように計算するか、gmp関数
を使用してください エコー badd(bcmul(85112854, 4294967296), 384440042); <br><font color="#e78608">------解決策------------------</font><br> echo badd(bcmul('85112854', '4294967296', 0), '384440042', 0);//365556924783662826<br> <div class="clear"></div>