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

Yusuke ITO ito_yusuke @ white.livedoor.com
2006年 1月 4日 (水) 15:49:35 JST


伊東です。

丁寧な解説、ありがとうございます。> 税所様

#大人げない『逆ギレ』という言葉は不要でしたね。
#申し訳ありませんでした。

--SAISHO Kazuhiro<ml @ saisho.info> wrote:
> 税所です。
> どうも誤解があるようですね。
(略)
> 32ビットの先頭のビットを「1」から「0」に変えたら、
> 「n - 2147483648」になりませんか?

正直かなり意表を突かれました、、
#久々に見たので
PHPの内部での負数の扱い(2の補数表現)に関しては宇野様のメール以上の補足は不要かと思いますが

結局、あなた自身の誤解は解けましたでしょうか?
その上で、最初の疑問に立ち返って『優しく』解説すると

var_dump (-2147483647 - 1);  # int(-2147483648)
 → -2147483647 - 1
 → (0) - (2147483647) - (1)
 → int(0) - int(2147483647) - int(1)  #内部での演算
 → int(-2147483648)

var_dump (-2147483648    );  # float(-2147483648)
 → -2147483648
 → (0) - (2147483648)
 → int(0) - float(2147483648)  #内部での演算
 → float(-2147483648)

となる、これは[PHP-users 28010]の高木様のご指摘だけで十分にご理解頂ける内容かと思います。

--
伊東 祐介
ito_yusuke @ white.livedoor.com




-----------------------------------------------
得するキャンペーンやプレゼント情報を是非ご覧下さい!
livedoor 懸賞
http://present.livedoor.com/



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