検索

Integer 整数型

Oct 20, 2016 pm 03:02 PM
integer

Integer 整数型


整数は、集合 = {..., -2, -1, 0, 1, 2, ...} 内の数値です。


参照:

任意長整数/GMP

浮動小数点型

任意精度数学ライブラリ/BCMath

構文


整数値10 進数、16 進数、8 進数、またはオプションの記号 (- または +) が前に付くバイナリ表現。


整数のバイナリ表現は PHP 5.4.0 以降で利用可能です。


8進数表現を使用するには、数値の前に0(ゼロ)を追加する必要があります。 16 進数の表現を使用するには、数値の前に 0x を付ける必要があります。バイナリ表現を使用するには、数値の前に 0b を追加する必要があります。


例 #1 整数リテラル式

<?php
$a = 1234; // 十进制数
$a = -123; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
?>


整数の正式な説明は次のとおりです。 10進数: 0[xX][0-9a-fA-F]+

8進数: 0[0-7]+

2進数: 0b[01]+

整数: [+-]?10進数
| ?16 進数
16 進数。 64 ビット プラットフォームでの最大値は通常、9E18 程度です。 PHP は符号なし整数をサポートしていません。整数値の語長は定数 PHP_INT_SIZE で表すことができます。PHP 4.4.0 および PHP 5.0.5 以降では、最大値は定数 PHP_INT_MAX で表すことができます。






不正な数値 (つまり、8 または 9) が 8 進数に渡された場合、残りの桁は無視されます。


例 #2 8 進数に関する奇妙なこと

<?php
var_dump(01090); // 八进制 010 = 十进制 8
?>

Integer 整数型

整数オーバーフロー

指定された数値が integer の範囲を超える場合、それは float として解釈されます。同様に、演算結果が整数の範囲を超える場合は浮動小数点数が返されます。


例 #3 32 ビット システムでの整数オーバーフロー

<?php
$large_number = 2147483647;
var_dump($large_number);                     // int(2147483647)
 
$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)
 
$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>  
Example #4 64 位系统下的整数溢出
<?php
$large_number = 9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)
 
$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)
 
$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>


PHP には整数の除算演算子がありません。 1/2 は float 0.5 を生成します。値は、小数部分を破棄して整数にキャストすることも、round() 関数を使用して丸めを改善することもできます。

<?php
var_dump(25/7);         // float(3.5714285714286) 
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4) 
?>

整数に変換する

値を明示的に整数に変換するには、 (int) または (integer) を使用してキャストします。ただし、演​​算子、関数、またはフロー制御で整数パラメーターが必要な場合、値は自動的に変換されるため、ほとんどの場合、キャストは必要ありません。関数 intval() を使用して値を整数に変換することもできます。

「型変換の識別」を参照してください。


ブール値


FALSE は 0 (ゼロ) を生成し、TRUE は 1 (1) を生成します。


浮動小数点からの変換


浮動小数点数から整数に変換する場合、切り捨てられます。


浮動小数点数が整数の範囲を超える場合 (通常、32 ビット プラットフォームでは +/- 2.15e+9 = 2^31、64 ビット プラットフォームでは +/- 9.22e+18 = 2^63) , 正確な整数の結果を得るには精度が不十分であるため、結果は未定義です。この場合、警告はなく、通知さえありません。


未知の分数を整数にキャストしないでください。予測できない結果が生じる可能性があります。

<?php
echo (int) ( (0.1+0.7) * 10 ); // 显示 7!
?>


浮動小数点精度に関する警告を参照してください。 Integer 整数型

文字列から変換します


文字列を数値に変換するを参照してください。


他の型からの変換


注意


他の型から整数への変換に関する定義された動作はありません。予告なく変更される可能性があるため、既存の動作に依存しないでください。


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

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

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません