PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
Q&A
解決済
2回答
188閲覧
総合スコア501
0グッド
1クリップ
投稿2018/05/15 10:19
0
1
なぜPHPで扱われる整数は、PHP_INT_MAXの値を超えると単精度浮動小数に型が変更されるのでしょうか。 ここによればPHPが柔軟だからとありますが、なぜfloat化することが柔軟となるのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
ベストアンサー
そういう言語仕様だから、じゃ説明になってないでしょうか。 PHP: 整数 - Manual
integer型の範囲外の数を指定した場合、かわりに floatとして解釈されます。また、結果が integer型の範囲外の数となるような計算を行うと floatが代わりに返されます。
柔軟とする理由は、計算できないからと強制終了してしまうよりも、 処理を継続して行えることを良しとした仕様検討の結果だからじゃないかと察しますが、 よくわかりません。
精度を気にするのであれば、サポートするphpの機能もあります。 GMPとか、BCMathとか。
投稿2018/05/15 10:32
退会済みユーザー
総合スコア0
単精度浮動小数に型が変更されるのでしょうか。
いやー、PHPに単精度(float)なんて無いですね。
PHPは歴史的な理由により、float も double も、両方とも実は double です、みたいな…。
PHP1<?php 2$val = 1.2345; 3echo gettype((float)$val) . "\n"; // ← double 4echo gettype((double)$val) . "\n"; // ← double
PHP
1<?php 2$val = 1.2345; 3echo gettype((float)$val) . "\n"; // ← double 4echo gettype((double)$val) . "\n"; // ← double
なんか、たーのしくなってきたー!
投稿2018/05/15 11:31
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.48%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
何故、少数になると柔軟になるのか
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。