ホームページ >バックエンド開発 >PHPチュートリアル >PHPの乗算にバグがあるのでしょうか?

PHPの乗算にバグがあるのでしょうか?

WBOY
WBOYオリジナル
2016-06-13 13:35:251056ブラウズ

phpの乗算にバグがあるのでしょうか?
85112854 * 4294967296 + 384440042
sprintf("%.0f"を使った計算結果は365556924783662848、電卓で計算した結果は365556924783662826
これには困りました問題 大きな頭が死んでいます。
理由を知っている人はいますか?

------解決策-- -
このように計算するか、gmp関数

PHPコード
を使用してください

エコー 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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。