-
1 # iibull
-
2 # 哎呀呀呀2020
微控制器很少用到複雜運算,負數用的更少,無符號整形變數可以最大使用變數的極限數值!0--256或者0--65535用著方便!
-
3 # Ren
一般都用char short long這種,而不用int,int的歧義比較大,16位平臺和32位平臺完全不同,很多時候直接會把型別宏替換成uint8、int32這樣的寫法。
-
4 # 使用者219538876015063
對於該款微控制器,int型別的變數佔據2個位元組,char型別的佔據1個位元組。
不過一般大家為了節約空間,大部分會使用char型別,同時89C51是一款8位的微控制器,所以推薦使用char型別的變數進行運算,即使我們在程式碼中寫入int型別的變數進行運算,也是編譯器編譯成為了8位的運算模式進行運算的。
體現不了硬體的優勢。
-
5 # 使用者7093408050986
將計算出來的值,即des(範圍0.750--0),乘以1000(即選擇3個有效數字),然後將這個浮點資料強制轉換為整型資料,得到的des範圍在750--0之間,然後將這個值取百位,取十位,取個位,分別放在不同的變數裡,就行了。如AD轉換後的str=0x3f,那麼des就等於0.1091796875,des×1000=109.1796875(des=des×1000),然後,將這個資料強制轉換為整型(int(des))並複製給另外一個變數(Ddes=int(109.1796875)),這個時候Ddes就為109了,然後這個資料再取整取餘(取整取餘這個你應該懂的,如果不懂晚上也有很多資料和函式),就是你需要的三個有效資料了。見笑了,這樣是我自己的辦法。有更好的請多多指教。
-
6 # ehuhf4906
C51支援的資料型別就是標準C的基礎資料型別即是:char,unsigned char,int,unsigned int,long,unsigned long,float,double還有是專為微控制器使用的資料型別:bit,sbit 這些都不用刻意的去死記硬背,寫程式的時候就會自然記得了 至於型別轉換,不同的編譯器轉換順序不是都一樣的儘量把資料預先轉成一樣再進行運算
回覆列表
說的不夠準確。微控制器程式設計,最重要的是資料型別的對齊和相容,準確的unsignedchar 是最基本的資料型別,可以靈活地轉化組合為其他任意資料型別, 對於int就不夠準確,合適的說法應該是明確int32或者int16,即告訴編譯器整數是32位還是16位。因為有些微控制器和嵌入式平臺裡邊的int不一定是預設的32位。所以在嵌入式開發裡邊,我們儘量對變數的定義,要明確佔用位數 以便於程式碼移植和維護。