C語言筆記2

  1.  C語言的整型有 char、 short、 int、 long、  long long等幾種。除char類型以外的其他類型如果沒有明確寫unsigned 或 signed關鍵字,都是表示signed, char類型沒有明確規定,屬於implementation defined。
2.   C語言中的整型常量數據類型是根據常量數值大小而定。可強制加U、 L等指定數據類型。

3.   八進制整數常量以0開頭,十六進制以0x 或0X開頭。有些編譯器也支持二進制整數常量,以0b 或B開頭,但不是C標準,只是作爲一些編譯器的擴展。
4.   浮點數在各個平臺上的實現差異很大。

5.   負數的右移操作,高位補零還是補一是implementation-defined的。

6.  左移或右移操作移動的位數大於做操作數位數,結果是undefined。

7.   一個數與自身異或的結構爲0 ,這比直接將一個數的賦成零要快。直接對寄存器做位運算比生成一個立即數再傳送到寄存器要快一些。
8.  和0異或原值不變,和1異或原值取反。

9.   交換兩個變量的值,不得藉助額外的存儲空?
a  = a ^ b;
b =  b ^ a;  (= b ^ (a ^ b) = a;)
a = a ^  b;
     利用的是  1. 一個數與0異或值不變; 2. 一個數有自身異或爲0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章