眾所周知,在c++之中,雙引號是用來表示其包括的內容為字符串,而單引號包括的內容表示其包括的為一個字符,那單引號的括起內容的實質是什么呢?
於是,我開始了我的實踐(作死)之路:








為什么當輸出'AA'時,會輸出這么神奇的數字16705?
下面我們就來研究一下這個問題:


Int 類型占據四個字節,即16位二進制
A的二進制為0100 0001,因此它的數值為65.
當有兩個AA時,其為0100 0001 0100 0001
當將二進制0100000101000001轉換為十進制時,其數字為16705
為什么在有的編譯器當超出四個字符時會出現警告甚至報錯,因為在c++之中,int類型為四個字節,即十六位,而每個字符類型為一個字節即四位。當超過四個字符時,有的編譯器會自動轉換為更高位數據類型,即long甚至long long(尚待實驗)
