integer-PHPのintの最大値はいくつですか?
非常に大きな数を処理できる特別なライブラリを無視すると、PHPに格納できる最大のint値はどれくらいですか?
答え :
解決策:
PHPマニュアルから:
整数のサイズは プラットフォームに依存しますが、最大 約20億の価値は 通常の値(32ビット符号付き)。 PHPはunsignedをサポートしていません 整数。整数サイズは 定数を使用して決定 PHP_INT_SIZE、およびを使用した最大値 PHP以降の定数PHP_INT_MAX 4.4.0およびPHP5.0.5。
64ビットプラットフォームの最大値は通常約9E18ですが、PHP7より前のWindowsでは常に32ビットでした。
答え :
解決策:
PHPの32ビットビルド:
- 整数は-2,147,483,648から2,147,483,647(〜±20億) まで可能です。
- 整数は-9,223,372,036,854,775,808から9,223,372,036,854,775,807(〜±9千億)まで可能です
数字は包括的です。
注:一部の64ビットビルドは、かつて32ビット整数を使用していました。特に古いWindowsビルドのPHP
これらの範囲外の値は、これらの範囲内の非整数値と同様に、浮動小数点値で表されます。インタプリタは、計算の結果値を整数として表すことができないかどうかに基づいて、この浮動小数点への切り替えがいつ発生する必要があるかを自動的に判断します。
PHPは「符号なし」整数自体をサポートしていないため、すべての整数の最大値を「符号付き」整数の範囲に制限します。
PHPの64ビットビルド:
答え :
解決策:
PHP intのサイズはプラットフォームに依存します:
整数のサイズは プラットフォームに依存しますが、最大 約20億の価値は 通常の値(32ビット符号付き)。 PHPはunsignedをサポートしていません 整数。整数サイズは 定数を使用して決定 PHP_INT_SIZE、およびを使用した最大値 PHP以降の定数PHP_INT_MAX 4.4.0およびPHP5.0.5。
PHP 6は「longs」(64ビットint)を追加します。
答え :
解決策:
(少し遅れますが、役立つ可能性があります)
PHP_INT_MAXとPHP_INT_SIZEのみを信頼してください。この値は、アーチ(32/64ビット)とOSによって異なります...
その他の「推測」または「ヒント」は誤りである可能性があります。
答え :
解決策:
ああ、見つけた:2 32 -1(2147483647)
整数のオーバーフロー
PHPが整数型の範囲を超える数値を検出した場合、代わりにfloatとして解釈されます。また、整数型の範囲を超える数になる演算は、代わりにfloatを返します。
<?php $large_number = 2147483647; var_dump($large_number); // output: int(2147483647) $large_number = 2147483648; var_dump($large_number); // output: float(2147483648)
答え :
解決策:
PHPが実行されているサーバーのアーキテクチャに依存します。 64ビットの場合
print PHP_INT_MIN . ", ” . PHP_INT_MAX;
は-9223372036854775808, 9223372036854775807
答え :
解決策:
PHP_INT_*
定数は非常に長い間存在しますが、同じMIN / MAX値は、負の数:
$x = 1;
while ($x > 0 && $x <<= 1);
echo "MIN: ", $x;
echo PHP_EOL;
echo "MAX: ", ~$x;
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。