[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 メーリングリストの案内