C語言學習(第三天)
1、整數類型擴展類型
擴展類型是提升計算機在處理數據的速度和空間上的能力,不同類型在不同系統上的功能也不一樣。
可移植類型頭文件:<stdint.h> ,C語言為現有類型創建更多的類型名,新的類型名都定義在<stdint.h>中;
移植:如 int32_t(精確寬度整數類型) 類型表示32位有符號整數類型,不管系統是多少位,int32_t類型定義的變量都是32位;
空間:如 int_least8_t (最小寬度類型)類型表示一定是至少有8位有符號整數值(指定寬度)的最小整數類型,如果系統最小是16位,仍可定義,但實現位16位;
速度:如 int_fast8_t (最快最小寬度類型)類型定義為系統中對8位有符號值而言運算速度最快的整數類型;
更大數據類型:如 intmax (最大有符號整數類型)類型可存儲任何有效的有符號整數值,類似的 unitmax 類型表示最大的無符號整數類型,這些類可能比 long long 和 unsigned long 更大;
顯示特定類型的字符串宏頭文件: <inttypes.h>,如 PRId32 字符串宏代表打印32位有符號值的合適轉換說明;
2、浮點型數據類型
float 類型:至少能精確6位有效數字,取值範圍至少是10-37--10+37,通常系統存儲一個 float 類型占用32位,其中8位用於表示指數的值和符號,剩余部分表示非指數部分;
double 類型:至少能精確13位有效數字,取值範圍至少是10-37
long double 類型:滿足比 double 更高的精度要求,不過C語言只保證 long double 至少與 double 的精度相同;
浮點常量表示
一般:-1.56E+12、2.87e-3
無小數點:2E5
無指數:15.89
無小數部分:3.E12
無整數部分:.45E-3
系統默認浮點常量為 double 類型,加 f 或 F 後綴表示 float 類型,加 l 或 L 後綴表示 long double 類型;
十六進制浮點型格式:即在十六進制數前加 0x 或 0X,用 p 或 P 分別代替 e 或 E,用2的冪代替10的冪,0xa.1fp10,a 表示十進制的10,1f 表示1/16 + 15/256,f 十進制是15,p10 是 210 或 十進制的1024,表示的值為(10 + 1/16 + 15/256)x 1024 = 10364.0;
打印浮點值
%f 打印十進制記數法的 float 和 double 類型;
%e 打印指數記數法的浮點數;
如果系統支持十六進制,%a 和 % A 代替 %e打印;
打印 long double 使用 %Lf、%Le、%La;
浮點值的上溢和下溢
3、復數和虛數類型
復數類型:float _Complex、double _Complex、long double _Complex 三種復數類型,每個類型值應該包括兩部分,實數和虛數部;
虛數類型:float _Imaginary、double _Imaginary、long double _Imaginary三種虛數類型;
如果包含頭文件 <complex.h> 可以用 complex 代替_Complex,imaginary 代替 _Imaginary,用 I(i 大寫)代替 -1的平方根;
C語言學習(第三天)