1
int a = -15, b = 15;
printf("%d %d\n", a >> 2, b >> 2);
因爲15=0000 1111(二進制),右移二位,最高位由符號位填充將得到0000 0011即3。-15 = 1111 0001(二進制),右移二位,最高位由符號位填充將得到1111 1100即-4
2
a<<2;
/*
a左移2位且無數據溢出=a*4
(若1001左移兩位變爲0100則爲數據溢出)
右移則是 /2^n
*/
3
a ^= b;
b ^= a;
a ^= b;
//a,b互換值
4
i&1
//通過最後一位判斷是否爲奇數