十二天深刻理解計算機系統(二)

信息的表示和處理

理解字節序(大端、小端)

 能夠參考博客大小端介紹以及判斷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

5 C語言有符號和無符號數

-1<0u,你們猜測這個的條件是什麼,是falseC語言隱式強制把有符號數轉換爲無符號數。

總結

數的表示,應該注意一些隱式轉換,數據轉換之間要注意。

相關文章
相關標籤/搜索