數據類型:
算術類型
類型 | 符號 | 位數(bit) | 範圍 |
---|---|---|---|
短整型: | short | 8 | -2^{15} ~ 2^{15}-1 |
整形: | int | 32 | -2^{31} ~ 2^{31}-1 |
長整型: | long | ||
長整型: | long long | 64 | |
單精度浮點型: | float | 6位有效數字 | |
雙精度浮點型: | double | 10位有效數字 | |
擴展精度浮點型: | long double | 10位有效數字 |
注意事項:double
比 float
精度高,在某些設備上計算更快,long double
提供的精度一般沒必要,而且會導致很高的開銷
類型 | 符號 | 位數(bit) | 範圍 |
---|---|---|---|
布爾型: | bool | // 布爾值輸出爲0/1, false/true | |
字符型: | char | 8 | // 字符型用單引號,雙引號報錯 |
寬字符: | wchar_t | 16 | |
Unicode字符: | char16_t | 16 | |
Unicode字符: | char32_t | 32 | |
無符號算術類型: | unsigned + 算術類型 |
例: unsigned int
對於char分爲三類:unsigned char
(0-255), signed char
(-128–127), char
類型轉換
數據類型轉換:
-
將一種算術類型賦值給另一種算術類型
bool b = 42; // b爲真,在int型中,bool爲真表示爲1,爲假表示爲0. int i = b; // i的值爲1 i = 3.14; // 儘管將float賦值給需要int型的i double pi = i; // 將int型賦值給double型,則自動轉爲double,所以pi=3.0 char c = 65; // 將int型轉換爲對應的編碼'A'
-
無符號 + 有符號 = 無符號。
其中有符號的直接被當做無符號計算,切記不要混用