php_PHP チュートリアルの浮動小数点 (float) と整数 (integer) データ型の詳細な説明
この記事では、PHP における浮動小数点 (float) と整数 (integer) データ型の使用法の違いと、データ長が不十分な場合に何が起こるかを分析します。
値は True または False のみです。他の型がブール型に変換される場合、次の値は FALSE とみなされます。
ブール値 FALSE 自体
整数値 0 (ゼロ)
浮動小数点値 0.0 (ゼロ)
空の文字列と文字列「0」
要素を含まない配列
メンバー変数を含まないオブジェクト (PHP 4.0 にのみ適用可能)
特殊な型 NULL (設定されていない変数を含む)
タグのない XML ドキュメントから生成された SimpleXML オブジェクト
他の値はすべて TRUE (リソースを含む) とみなされます。
整数データ型:
整数値は、オプションの記号 (- または +) を前に付けて、10 進数、16 進数、または 8 進数で表すことができます。
整数の語長はプラットフォームに依存しますが、通常の最大値は約 20 億 (32 ビット符号付き) です。 PHP は符号なし整数をサポートしていません。整数値の語長は定数 PHP_INT_SIZE で表すことができます。PHP 4.4.0 および PHP 5.0.5 以降では、最大値は定数 PHP_INT_MAX で表すことができます。
指定された数値が整数の範囲を超える場合、浮動小数点として解釈されます。同様に、演算結果が整数の範囲を超える場合も浮動小数点数が返されます。
PHP には整数の除算演算子がありません。 1/2 は float 0.5 を生成します。小数部分はいつでも破棄するか、round() 関数を使用できます。
値を整数に明示的に変換するには、(int) または (integer) キャストを使用します。ただし、演算子、関数、またはフロー制御で整数パラメーターが必要な場合、値は自動的に変換されるため、ほとんどの場合、キャストは必要ありません。関数 intval() を使用して値を整数型に変換することもできます。
ブール値から変換すると、FALSE は 0 (ゼロ) を生成し、TRUE は 1 (1) を生成します。
浮動小数点数からの変換 浮動小数点数から整数への変換では、ゼロ方向に丸められます。浮動小数点数が整数の範囲 (通常は +/- 2.15e+9 = 2^31) の外にある場合、浮動小数点数には正確な整数の結果を与えるのに十分な精度がないため、結果は不定になります。この場合、警告はなく、通知さえありません。
整数型は、集合 {..., -2, -1, 0, 1, 2, ...} 内の数値を指します。
整数型の定義例:
$var_int = 12345;
整数値は 10 進数、16 進数、または 8 進数の表記で指定できます。8 進数の表記を使用する場合は、数値の前に 0 (ゼロ) を追加する必要があります。16 進数の表記を使用する場合は、数値の前に 0x を追加する必要があります。
$var_int = 0123; // 8 進数 (10 進数の 83 に等しい)
ヒント: 整数データには一重引用符や二重引用符は必要ありません。そうでない場合は、文字列型として定義されます。
整数オーバーフロー
整数値の範囲はプラットフォームによって異なります。通常、最大値は約 20 億 (32 ビット符号付き) です。
floatデータ型
浮動小数点数の語長はプラットフォームに依存しますが、通常、最大値は 10 進数 14 桁 (64 ビット IEEE 形式) の精度で 1.8e308 です。
0.1 や 0.7 などの一見単純な小数は、精度を少し損なうことなく内部バイナリ形式に変換できません。これは、混乱を招く結果につながる可能性があります。たとえば、floor((0.1+0.7)*10) は、結果の内部表現が 7.9 のようなものであるため、期待される 8 ではなく 7 を返すことがよくあります。
これは、有限の桁数で特定の小数を正確に表現することが不可能であるという事実と関係しています。たとえば、10 進数の 1/3 は 0.3 になります。
float には、1 つの符号ビット、8 つの指数ビット、および 24 の有効数字があります (23 ビットのみが保存されます) もちろん、先ほどの binary32 のバイナリは、メモリ内の浮動小数点を示しています。表現
31 番目のビットは符号ビット、23 ~ 30 は指数ビット、0 ~ 22 は小数ビットです。また、有効数字には隠れたビットがあり、これは常に 1 です。したがって、有効ビットの部分は常に 1 になります。 1. 127 の後の数字は最終的な指数を表します。上の図の指数部は 01111100 で、これを 10 進数の 124 に変換してから 127 を引くと、結果は -3 になります。つまり、指数部は次のようになります。 2-3=1/8 =0.125 では、隠しビットを追加すると、1.0100000000000000000000=1+(1*2-2)=5/4=1.25 と表されます。は 1/8 * 5/4 = 0.15625 です。
インデックスが表現できる最大値と最小値は 127 と -126 です。これを -126 に設定する目的は、8 ビットで表現できる必要があることです。 (1/2-126) はオーバーフローではないためです (これは少しわかりにくいですが、ドキュメントにはこのように書かれています)。ここで 127 と -126 は 2 の指数として表現されます。したがって、これらを の指数として表現するとどうなるでしょうか。 10? 関数 y=10x は x = log10y であることがわかります。 もちろん、ここで 10 の後には、他の数値を続けることができます。 つまり、指数の範囲は -37 ~ 38 になります。では、有効数字が 7 桁の場合はどうなるでしょうか? 同じ理由で log2(24) = 7.22 になります。つまり、24 桁の有効数字は 107 桁に相当し、有効数字は 7 桁になります。最大の指数は 127 であることがわかっています。最大有効数はすべてのビットが 1 であるため、この数値は
1.11111111111111111111111*2127 ≈ 3.4028234 * 1038 .
フロート型
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
PHPのfloat型を使用する際の注意点: PHPのfloat型の精度には問題があります。高精度の数学計算が必要な場合は、PHP が提供する任意精度数学関数シリーズおよび gmp シリーズ関数を使用できます。また、float 型の変数を比較しないでください。
注: 浮動小数点数の語長はプラットフォームに依存しますが、通常、最大値は 10 進数 14 桁 (64 ビット IEEE 形式) の精度で 1.8e308 です
概要:
float の長さはプラットフォームによって異なります。通常、最大値は 1.8e308 で、10 進数 14 桁の精度になります。指定された数値が整数の範囲を超える場合は、その整数の範囲とプラットフォームに応じて float 型として解釈されます。通常、最大値は約 20 億 (32 ビット符号付き) です。ページ アライメントの利点は、演算結果が整数の範囲を超える場合、浮動小数点も返されることです。
http://www.bkjia.com/PHPjc/629172.html

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
