C語言中的資料型別轉化

2021-08-13 04:27:35 字數 809 閱讀 8254

不得不說在微控制器c語言程式設計中,資料型別轉化是乙個不得不面對的問題,尤其是ad轉化,lcd液晶顯示,都需要使用型別轉化。比如將微控制器採集到的乙個小數顯示到lcd1602上去,那麼必須將小數轉化為乙個乙個的整數,再將它轉化為字元,最終才能正常顯示。對待此類問題,需要深刻的了解c語言的資料型別轉化機制。

執行算術運算時,計算機比c語言的限制更多。為了讓計算機執行算術運算,通常要求運算元有相同的大小(即位的數量相同),並且要求儲存的方式也相同。計算機可能可以直接將兩個16位整數相加,但是不能直接將16位整數和32位整數相加,也不能直接將32位整數和32位浮點數相加。另一方面,c語言允許在表示式中混合使用基本資料型別。在單獨乙個表示式中可以組合整數、浮點數,甚至是字元。當然,在這種情況下c語言編譯器可能需要生成一些指令將某些運算元轉換成不同型別,使得硬體可以對表示式進行計算。如果要將乙個int16和乙個int32的資料進行相加,那麼及計算機首先需要將他們都轉化成int32的數,這樣既保證了運算精度,有能夠保證計算機硬體層面的合理性。

有隱式資料型別轉化和顯式的轉化,顯式的轉化就像c語言中的強制型別轉化。

.當算術表示式或邏輯表示式中運算元的型別不相同時。(c語言執行所謂的常用算術轉換。)

.當賦值運算子右側表示式的型別和左側變數的型別不匹配時。

.當函式呼叫中使用的引數型別與其對應的引數的型別不匹配時。

.當return語句中表示式的型別和函式返回值的型別不匹配時

int -> unsigned int -> long -> unsigned long -> long long -> unsigned long long -> float -> double -> long double

C語言中的資料型別的自動轉化

1.算術表示式中,低型別轉換成高型別 2.賦值表示式,右邊表示式的值轉換為左邊變數的型別,並賦值給它 3.函式呼叫引數傳遞時,系統將實參轉換為形參的型別後,賦給形參 4.函式有返回值,系統將返回表示式型別轉換為返回值型別,賦值給呼叫函式 1.字元必須先轉換為整數 2.short型轉換為int型 3....

C 語言中的資料型別

1.1基本資料型別 字元型 char 短整型 short int 整型 int 長整型 long int 單精度浮點型 float 雙精度浮點型 double 1.2復合資料型別 陣列,結構體。字元型 char a 1 1個位元組 短整型 short int 2個位元組 整型 int 4個位元組 長...

C語言中的資料型別

常量,表示一些固定的資料 1 整型常量 int 包括了所有的整數,比如6 27 109 256 10 0 289等 2 浮點型常量 float double 浮點型常量分為double和float兩種資料型別 u double 雙精度浮點型,其實就是小數。比如5.43 2.3 0.0等 注意,0.0...