能夠參考博客大小端介紹以及判斷html
一個有趣的應用使用異或實現兩個元素之間的交換。spa
void inplace_swap(int *x, int *y)htm
{blog
*y=*x^*y;get
*x=*x^*y;編譯器
*y=*x^*y;博客
}io
若是第一個參數求值就可以肯定表達式的結果,那麼邏輯運算符就不會對第二個參數求值。編譯
例如[xn-1...x0],邏輯右移k位的結果爲[0..0,xn-1..xk],算術右移k位的結果爲[xn-1,xn-1..xn-1..xk]。C語言中無符號的右移必定是邏輯的,有符號幾乎全部的編譯器/機器組合都對有符號數據使用算術右移。class
-1<0u,你們猜測這個的條件是什麼,是false,C語言隱式強制把有符號數轉換爲無符號數。
數的表示,應該注意一些隱式轉換,數據轉換之間要注意。