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以降ではこの処理が自動で行われるようになっているため、この関数を明示的に呼ぶ必要はありません。