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

SAISHO Kazuhiro ml @ saisho.info
2006年 1月 4日 (水) 15:25:58 JST


税所です。
どうも誤解があるようですね。

[PHP-users 28020]
> 伊東です。

> どうして逆ギレしているのかよくわかりませんが。
> 
> 税所様が勝手に前提とされている
> > 「-2147483647」は内部的には「1 - 2147483648」で、
> なんてこと、他の誰も言ってません。
> 
> 強いて言うなら、「0 - 2147483647」でしょうね。
> これはint同士の演算です。

別に逆ギレなどしていませんよ。
どうしてそう受け止められたかわかりませんが、
そんな幼稚な年齢でもありませんし。。
(顔文字がいけなかったかな?)

32ビットの先頭のビットを「1」から「0」に変えたら、
「n - 2147483648」になりませんか?

[2進数]                             [10進数]
11111111111111111111111111111111 →  2147483647
11111111111111111111111111111110 →  2147483646
11111111111111111111111111111101 →  2147483645
(中略)
10000000000000000000000000000010 →           2
10000000000000000000000000000001 →           1
10000000000000000000000000000000 →           0
01111111111111111111111111111111 →          -1
01111111111111111111111111111110 →          -2
01111111111111111111111111111101 →          -3
(中略)
00000000000000000000000000000010 → -2147483646
00000000000000000000000000000001 → -2147483647
00000000000000000000000000000000 → -2147483648

先頭ビットが「1」なら正、「0」なら負。
私の申し上げたいことはおわかり戴けましたでしょうか?

--
税所 一弘 <ml @ saisho.info>



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