作者a7752035 (uishi)
看板java
標題[問題] 位移運算的問題
時間Thu Feb 28 11:13:07 2013
在書上看到一個問題
int 型態
-2 >> 1
11111111111111111111111111111110
↓右移一個位元
_1111111111111111111111111111111
↓補1
11111111111111111111111111111111
↓
-1
int 型態
-2 >>> 1
11111111111111111111111111111110
↓右移一個位元
_1111111111111111111111111111111
↓補1
01111111111111111111111111111111
↓
2147483647
為什麼 >> 最左邊是補1
而>>>最左邊是補0呢 書上沒說明><
可以幫我解答一下嗎 謝謝^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.230.64.211
→ risker760915:google一下就有解答... 02/28 11:20
→ MetalChao:這沒有為什麼, >>> 就是為了這個行為而定義的吧 02/28 11:36
推 snowlike:結論不太正確這不是補0還是1的問題,是數值正負號的問題 02/28 23:59
推 mars90226:樓上是對的,補的數字是根據正負號,因為不能改變數值 03/01 08:25