[PHP-users 28017] Re: 整数の下限

SAWAI-Shooskay teto @ sa-y.com
2006年 1月 4日 (水) 13:35:46 JST


さわいです。

優しい人がいて よかったね。
> 税所です。
> 優しいご回答をありがとうございます。(^^;
> > PHP 内部では、-2147483648 は (0 - 2147483648) と解釈されるようです。
> > 2147483648 は int 型の範囲を超えているので float として扱われ、int と 
> > float の演算結果が float として扱われているということでしょう(*2)。
> 
> 32ビット符号なし整数 0〜4294967295 を 2147483648(31ビット)分シフトして
> 符号ありにしているということなのではないでしょうか?
> この場合の「2147483648」とシフトした結果の「2147483648」では
> 意味が異なるのではないでしょうか?
> -2147483648 は 0 - 2147483648 ということですが、同様に、
> -2147483647 は 1 - 2147483648 ということになると思いますが、
じゃ -100 は?


勘違いしてそうですね。
> 高木さんの理論ですと、後者もfloatの計算ですから
> -2147483647 も float ということになってしまいますが、
> 実際には -2147483647 は integer ですよね?
え?
var_dump (1-2147483648    );は
	float(-2147483647) 
だよ


PHP-users メーリングリストの案内