推 ledia:implementation dependent 04/03 13:34
推 purpose:sign extend 的關係吧。狗屎的 ideone 很難連,直接貼就好 04/03 13:52

→ purpose:應該是有號 type 就做 sar sal 無號就做作 shr shl 04/03 14:19
抱歉 我補一下code
#include <iostream>
using namespace std;
int main()
{
int i,j;
i=0x7fffffff;
j=0xffffffff;
for(int k=31;k--;i>>=1,j>>=1)
cout << hex << i << "\t" << j << endl;
cout << (j>>4) << endl;
return 0;
}
output:
7fffffff ffffffff
3fffffff ffffffff
1fffffff ffffffff
fffffff ffffffff
7ffffff ffffffff
3ffffff ffffffff
1ffffff ffffffff
ffffff ffffffff
7fffff ffffffff
3fffff ffffffff
1fffff ffffffff
fffff ffffffff
7ffff ffffffff
3ffff ffffffff
1ffff ffffffff
ffff ffffffff
7fff ffffffff
3fff ffffffff
1fff ffffffff
fff ffffffff
7ff ffffffff
3ff ffffffff
1ff ffffffff
ff ffffffff
7f ffffffff
3f ffffffff
1f ffffffff
f ffffffff
7 ffffffff
3 ffffffff
1 ffffffff
ffffffff
※ 編輯: x000032001 來自: 123.240.28.61 (04/03 14:54)
推 tropical72:回答另一個問題,primer c++ 4e, 5.3 , 取決於編譯器。 04/03 15:43
→ tropical72:補一下,上面指的是,有號數右移,singed bit 處理. 04/03 15:45
→ x000032001:原來是這樣 感謝@@ 04/03 15:47
推 purpose:LPH66 前輩實在太強大了,解答無數問題 04/03 16:30
→ angleevil:LPH66真的很強 04/03 16:55
推 VictorTom:推L大:) 04/04 10:53
→ red0210:不過我還是搞不太懂 這樣往回補的意義在哪? 04/04 16:37
推 purpose:+4 做算數移位後變+2,而 -4 因為有回補,所以能夠變 -2 04/04 17:25
→ red0210:對喔!! 原來如此!! 謝謝樓上!!!! 04/04 17:55