PHPでウェブの世界と繋がろう!
menu
ホーム > PHPの文法 > 2 データ型 > 2-3 整数型 integer

2-3 整数型 integer

Pocket

- 1 分ノート ! -

  • 整数型とは正負の整数値のこと
  • 整数型の種類はスカラー型
  • 整数型のチェックは is_integer() 関数 で行う
  • 整数型限界値は 32bitシステム+-2147483647
  • 整数型限界値は 64bitシステム+-9223372036854775807

整数型とは
POINT
  • 整数型とは正負の整数値のこと
  • 整数型の種類はスカラー型

整数型とは正負の整数 64 や 256 や -2 などの数値を扱う型です。先頭にプラス「+」やマイナス「-」の符号が付くこともあります。符号を省略した場合は正の数となります。

整数リテラルの表記方法には10進形式8進形式16進形式の3通りがあります。リテラルの詳細はこちら

 コンピュータが0と1の2進数で内部処理を行うというのは有名ですよね。進数というのは数値の数え方の1つです。普段私たちが数を数えるのに使用しているのが10進形式です。10進形式は0、1、2、3、4、5、6、7、8、9の10種類の数字で表現します。10コをひとまとまりとし、10コ目で桁があがります。

10進形式

145 -641 +33 などです。

10進数値:
<?php
$i10System = 256;
echo $i10System;
?>

結果は

10進数値: 256

となります。

8進形式

先頭が0で、その後に0から7までの数字が続きます。
0755 10進で 493 です。
+010 10進で 8 です。

8進数値:
<?php
$i8System = 0123;
echo $i8System;
?>

結果は

8進数値: 83

となります。

16進形式

先頭が0x、その後に数字(0~9)あるいは(A~F)が続きます。
0xFF 10進で 255 です。
0x10 10進で 16 です。

16進数値:
<?php
$i16System = 0x1A;
echo $i16System;
?>

[ 16進数値: 26 ]

整数型を調べる
POINT
  • 整数型のチェックは is_integer() 関数 で行う

整数型であるかどうかし調べるには、is_int()関数is_integer()関数を使用します。

$iInt = 256;
if(is_integer($iInt) === TRUE) echo '整数型です。';

結果は

整数型です。

となります。

扱える値の範囲
POINT
  • 整数型限界値は 32bitシステム+-2147483647
  • 整数型限界値は 64bitシステム+-9223372036854775807

扱うことのできる値の範囲は -2,147,483,648 から +2,147,483,648 です。
この値はプラットフォームにより異なります。

整数型限界値は、32bitシステムで +-2147483647 です。
限界値を超えると浮動小数点型として扱われます。

<?php
$iLimitNum = 2147483647; //限界値を指定
var_dump($iLimitNum); //型と値を出力してくれるvar_dump
if(is_integer($iLimitNum) === TRUE) 	echo ' 整数型です。';
echo "<br/>";
$fLimitOverNum = 2147483648; //限界値+1を指定
var_dump($fLimitOverNum);
if(is_float($fLimitOverNum) === TRUE) 	echo ' 浮動小数点数型です。';
?>

結果は

int(9223372036854775807)  整数型です。
float(9.2233720368548E+18)  浮動小数点数型です。

となります。

整数型限界値 62bitシステム 限界値は+-9223372036854775807です。
限界値を超えると浮動小数点型として扱われます。

<?php
$iLimitNum = 9223372036854775807; //限界値を指定
var_dump($iLimitNum); //型と値を出力してくれるvar_dump
if(is_integer($iLimitNum) === TRUE) 	echo ' 整数型です。';
echo "<br/>";
$fLimitOverNum = 9223372036854775808; //限界値+1を指定
var_dump($fLimitOverNum);
if(is_float($fLimitOverNum) === TRUE) 	echo ' 浮動小数点数型です。';
?>

結果は

int(9223372036854775807)  整数型です。
float(9.2233720368548E+18)  浮動小数点数型です。

となります。

サンプルコード

– サンプル Click Here ! –

・整数:
<?php
$iNum = 548;
echo $iNum.' ';
$iNum = -36;
echo $iNum.' ';
$iNum = +21;
echo $iNum.' ';
?>
<br/><br/>

・10進数値:
<?php
$i10System = 256;
echo $i10System;
?>
<br/><br/>

・8進数値:
<?php
$i8System = 0123;
echo $i8System;
?>
<br/><br/>

・16進数値:
<?php
$i16System = 0x1A;
echo $i16System;
?>
<br/><br/>

・整数型を調べる:
<?php
$iInt = 256;
if(is_integer($iInt) === TRUE) echo '整数型です。';
?>
<br/><br/>

・整数型限界値 32bitシステム 限界値は2147483647です。限界値を超えると浮動小数点型として扱われます。<br/>
<?php
$iLimitNum = 2147483647; //限界値を指定
var_dump($iLimitNum); //型と値を出力してくれるvar_dump
if(is_integer($iLimitNum) === TRUE) 	echo ' 整数型です。';
echo "<br/>";
$fLimitOverNum = 2147483648; //限界値+1を指定
var_dump($fLimitOverNum);
if(is_float($fLimitOverNum) === TRUE) 	echo ' 浮動小数点数型です。';
?>
<br/><br/>

・整数型限界値 62bitシステム 限界値は9223372036854775807です。限界値を超えると浮動小数点型として扱われます。<br/>
<?php
$iLimitNum = 9223372036854775807; //限界値を指定
var_dump($iLimitNum); //型と値を出力してくれるvar_dump
if(is_integer($iLimitNum) === TRUE) 	echo ' 整数型です。';
echo "<br/>";
$fLimitOverNum = 9223372036854775808; //限界値+1を指定
var_dump($fLimitOverNum);
if(is_float($fLimitOverNum) === TRUE) 	echo ' 浮動小数点数型です。';
?>

実行結果
・整数: 548 -36 21 

・10進数値: 256

・8進数値: 83

・16進数値: 26

・整数型を調べる: 整数型です。

・整数型限界値 32bitシステム 限界値は2147483647です。限界値を超えると浮動小数点型として扱われます。
int(2147483647)  整数型です。
int(2147483648)

・整数型限界値 62bitシステム 限界値は9223372036854775807です。限界値を超えると浮動小数点型として扱われます。
int(9223372036854775807)  整数型です。
float(9.2233720368548E+18)  浮動小数点数型です。

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2011年10月11日
最終更新日:2014年02月01日

関連記事

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpref-seisugata/trackback/