PHPには、符号なし整数はありません。
整数で表現可能な範囲はプラットフォームに依存し、32bitでは-2³¹~2³¹までです。最大値はPHP_INT_MAXで調べられ、整数のバイト数はPHP_INT_SIZEにあります。
PHPには整数の割り算はなく、自動的にfloat型にキャストされて演算されます。
整数リテラルには、
があります。
n進数の相互の変換は、n進数への変換で行えます。
関数 | 説明 |
---|---|
ceil | 数値を切り上げる |
floor | 数値を切り捨てる |
round | 数値を丸める (四捨五入) |
入力 | 出力 | 関数 |
---|---|---|
10 | 2 | string decbin ( int $number ) |
8 | string decoct ( int $number ) |
|
16 | string dechex ( int $number ) |
|
2 | 10 | number bindec ( string $binary_string ) |
8 | number octdec ( string $octal_string ) |
|
16 | number hexdec ( string $hex_string ) |
echo decbin( 15 ); // 1111 echo decoct( 15 ); // 17 echo dechex( 15 ); // f
任意の基数への変換は、base_convert()で行えます。
string base_convert ( string $number , // 変換する数値 int $frombase , // 変換前の基数 int $tobase // 変換後の基数 )PHP: base_convert - Manual
int mt_rand ( void )
引数で範囲を指定しない形式では、結果は0からmt_getrandmax()の範囲となります。
int mt_rand ( int $min , int $max )PHP: mt_rand - Manual
$min以上$max以下の整数が返されます。
echo mt_rand( 1, 3 ); // 3 echo mt_rand( 1, 3 ); // 1 echo mt_rand( 1, 3 ); // 2 echo mt_rand( 1, 3 ); // 1 ...
疑似乱数のシードを設定するmt_srand()という関数がありますが、PHP 4.2.0以降ではこの処理が自動で行われるようになっているため、この関数を明示的に呼ぶ必要はありません。