ホームページ バックエンド開発 PHPチュートリアル FLOATを2つ足し合わせると不思議な現象が起きる~解決策のアイデア

FLOATを2つ足し合わせると不思議な現象が起きる~解決策のアイデア

Jun 13, 2016 pm 01:47 PM
float printf quot

FLOAT を 2 つ追加すると奇妙な現象が発生します~~~~

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
list ( $usec, $sec ) = explode ( ' ', microtime () );

printf("秒:%.16f", (float)$sec);
printf("微秒:%.16f", (float)$usec);
printf("相加:%.16f", ( float ) $usec + ( float ) $sec);

ログイン後にコピー

出力結果は次のとおりです:
Seconds: 1327048300.0000000000000000
Microseconds: 0.9687510000000000
追加: 1327048300.9687509536743164

浮動小数点数が近似値であることはわかっていますが、$usec を出力して小数点以下 16 桁を保持すると、小数点がありません。そうすると、1327048300と等しいと考えられないでしょうか?
2 つの合計が 1327048300.9687510000000000 にならないのはなぜですか? ?

ありがとうございます! !

-----解決策---------
警告
浮動小数点精度
0.1 や 0.7 などの一見単純な小数は、精度を少し損なうことなく内部バイナリ形式に変換できません。これは、混乱を招く結果につながる可能性があります。たとえば、floor((0.1+0.7)*10) は、結果の内部表現が 7.9999999999... のようなものであるため、通常、期待される 8 ではなく 7 を返します。
これは、有限の桁数で特定の小数を正確に表現することが不可能であるという事実に関連しています。たとえば、10 進数の 1/3 は 0.3333333 になります。

したがって、浮動小数点数の結果が最後の桁まで正確であるとは絶対に信じないでください。また、2 つの浮動小数点数が等しいかどうかを比較しないでください。本当に高い精度が必要な場合は、任意精度の数学関数または gmp 関数を使用する必要があります。
------解決策----------------------
有効な番号が何なのかさえわかりませんあなたの両親がなぜそんなにお金をかけてあなたを大学に行かせるのか本当に理解できません
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

float の最大値はいくらですか? float の最大値はいくらですか? Oct 11, 2023 pm 05:54 PM

float の最大値: 1. C 言語の float の最大値は 3.40282347e+38 IEEE 754 規格によれば、float 型の最大指数は 127、仮数部の桁数は 23 です。このように、最大​​浮動小数点数は 3.40282347 e+38 になります。 2. Java 言語では、最大浮動小数点数は 3.4028235E+38 です。 3. Python 言語では、最大浮動小数点数は 1.7976931348623157e+308 です。

フロートの精度はどれくらいですか? フロートの精度はどれくらいですか? Oct 17, 2023 pm 03:13 PM

float の精度は小数点以下 6 ~ 9 桁に達します。 IEEE754 規格によれば、float 型で表現できる有効桁数は約 6 ~ 9 桁です。ただし、これは理論上の最大精度であり、実際の使用では浮動小数点数の丸め誤差により、float 型の精度が低下する場合があります。コンピュータで浮動小数点数演算を実行すると、浮動小数点数の精度制限により精度の低下が発生する場合があります。浮動小数点数の精度を向上させるために、double や long double などのより精度の高いデータ型を使用できます。

データベースの浮動小数点の長さはどれくらいですか? データベースの浮動小数点の長さはどれくらいですか? Oct 10, 2023 pm 03:57 PM

一般的なデータベースの float 型の長さは次のとおりです: 1. MySQL の float 型の長さは 4 バイトまたは 8 バイトです; 2. Oracle の float 型の長さは 4 バイトまたは 8 バイトです; 3. SQL Server の float 型の長さ8 バイトに固定されています; 4. PostgreSQL の float 型の長さは 4 バイトまたは 8 バイトなどです。

C言語でfloatってどういう意味ですか? C言語でfloatってどういう意味ですか? Oct 12, 2023 pm 02:30 PM

C 言語の Float は、単精度浮動小数点数を表すために使用されるデータ型です。浮動小数点数は科学的表記法で表現された実数であり、非常に大きな値または非常に小さな値を表すことができます。 float 型の変数は、小数点以下有効数字 6 桁の値を格納できます。C 言語では、float 型を使用して浮動小数点数の演算と格納を行うことができます。その変数は、小数、分数、科学的表記法の表現に使用できます。実数は整数型とは異なり、浮動小数点数は小数点以下の数値を表すことができ、小数に対して四則演算を実行できます。

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

float属性の値は何ですか? float属性の値は何ですか? Oct 10, 2023 pm 02:03 PM

float 属性値には、left、right、none、inherit、clearinline-start、inline-end が含まれます。詳細な紹介: 1. 左、要素は左側にフロートします。つまり、要素はコンテナの左側にできるだけ近くに配置され、他の要素は右側でそれを囲みます。2. 右、要素右にフロートします。つまり、要素は可能な限りコンテナの近くに配置されます。右側では、他の要素が左側でそれを囲みます。3. デフォルト値の none では、要素はフローティングにならず、配置されます。通常の書類の流れなどに準じて

float32 バイトには何が含まれますか? float32 バイトには何が含まれますか? Oct 10, 2023 pm 04:07 PM

float32 バイトには、符号ビット、指数ビット、仮数ビットが含まれており、32 ビット浮動小数点数を表すために使用されます。詳細な紹介: 1. 符号ビット (1 ビット)、数値の符号を表すために使用され、0 は正の数値を表し、1 は負の数値を表します; 2. 指数ビット (8 ビット)、数値の指数部分を表すために使用されます。浮動小数点数、指数ビットを介して浮動小数点数のサイズ範囲を調整できます; 3. 仮数ビット (23 ビット) は浮動小数点数の仮数部分を表すために使用され、仮数ビットは格納されます。浮動小数点数の小数部分。符号ビットは浮動小数点数の符号を決定し、指数ビットと仮数ビットは共同して浮動小数点数のサイズと精度を決定します。

フロートレイアウトはどのような問題を引き起こしますか? フロートレイアウトはどのような問題を引き起こしますか? Oct 10, 2023 pm 03:31 PM

フロート レイアウトでは、フロートのクリア、要素の重複の問題、テキストの折り返しの問題、レスポンシブ レイアウトの問題などの問題が発生する可能性があります。詳細な紹介: 1. フローティングの問題を解決します。フロート レイアウトを使用すると、フローティング要素がドキュメント フローから外れ、親コンテナーがフローティング要素を正しくラップできなくなる可能性があります。この場合、フローティング要素の高さは親コンテナが折りたたまれてレイアウトが混乱する; 2. 要素の重なりの問題 複数の要素がフロート レイアウトを使用すると、フローティング要素が通常のドキュメント フローの位置を占めなくなるなどの理由で、要素が重なり合う可能性があります。

See all articles