



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C51的數據類型數據的格式通常稱為數據類型。標準的C語言的數據類型可分為基本數據類型和組合數據類型,組合數據類型由基本數據類型構造而成。標準的C語言的基本數據類型有字符型char、短整型short、整型int、長整型long、浮點型float、和雙精度型 double。組合數據類 型有數組類型、結構體類型、共同體類型和枚舉類型,另外還有指針類型和空類型。C51的居類型也分為基本數據類型和組合數據類型,情況與標準C中的數據類型基本相同,但其中char型與short型相同,float型與double型相同。另外,C51中還有專門針對于 MCS-51單 片機的特殊功能寄存器型和位類型。具體情況如下:
2、1、字符型char有signed char和unsigned char之分,默認為 signed char。它們的長度均為一個字節, 用于存放一個單字節的數據。對于signed char,它用于定義帶符號字節數據,其字節的最高位為符號位,“0”表示正數,“1”表示負數,補碼表示,所能表示的數值范圍是-128+127;對于unsigned char,評測用于定義無符號字節數據或字符,可以存放一個字節的無符號數, 其所表示的數值范圍為0255o Unsigned char可以用來存放無符號數,也可以存放西文字符,一個西文字符占一個字節,在計算機內部用ASCII碼存放。2、int整型有signed
3、int和unsigned int之分,默認為 signed int。它們的長度均為兩個字節,用于 存放一個雙字節數據。對于signed int,它用一存放兩字節帶符號數,補碼表示,所能表示的數值范圍為-32768+32767。對于unsigned int,它用于存放兩字節無符號數,數的范圍為 065535。3、long長整型有signed long和unsigned long之分,默認為 signed long。它們的長度均為四個字節, 用于存放一個四字節數據。對于signed long,它用于存放四字節帶符號數,補碼表示,所能表示的數值范圍為-2147483648+2147483647。對于
4、unsigned long,它用于存放四字節無符 號數,所能表示白數值范圍為04294967295。4、float浮點型float型數據的長度為四個字節,格式符合IEEE-754標準的單精度浮點型數據,包含指數和尾數兩部分,最高位為符號位,“1”表示負數,“0”表示正數,其次的8位為階碼,最后的23位為尾數的有效位,由于尾數的整數部分隱含為“1”,所以尾數的精度為24位。在內存中的格式如下圖所示。字節地址3210浮點數的內容SEEE,EEEEEMMM,MMMMMMMM,MMMMMMMM,MMMM其中,S為符號位;E為階碼位,共8位,用移碼表示。階碼 E的正以值范圍為1254, 而對應的指數實際
5、取值范圍為-126+127; M為尾數的小數部分,共23位,尾數的整數部分始終為“1”。故一個浮點數的取值范圍為(-1)SX 2e-127X (1.M)。例如浮點數 +124.75=+1111,100.11B=+1.1111 0111 X2+110,符號位為 “ 0”,8 位階碼 E 為 +110+1111 111=1000 0101B, 23 位數值位為 111 1001 1000 0000 0000 0000B , 32 位浮點數表 示形式為0100 0010 1111 1001 1000 0000 0000 0000B=42F98000H ,在內存中的表式形式如下 圖所示。字節地址321
6、0浮點數的內容0100 00101111 10011000 00000000 0000需要指出的是,對于浮點型數據除了正常數值之外,還可能出現非正常數值。 根據IEEE標準,當浮點數據取以下數值(16進制數)時即為非正常值:FFFF FFFFH非數 NaN)7F80 0000H (正溢出 +1NF)FF80 0000H (負溢出-1NF)另外,由MCS-51單片機不包括捕獲浮點運算錯誤的中斷向量,因此必須由用戶自己根 據可能出現的錯誤條件用軟件來進行適當的處理。5、*指針型指針型本身就是一個變量,在這個變量中存放著指向另一個數據的地址。這個指針變量要占用一定的內存單元。對不同的處理器其長度不一
7、樣,在 C51中它的長度一般為 13個 字節。6、特殊功能寄存器這是C51擴充的數據類型,用于訪問MCS-51單片機中的特殊功能寄存器數據。它分為sfr和s什16兩種類型,其中sfr為字節型特殊功能寄存器類型,占一個內存單元,利用它可 以訪問MCS-51內部的所有特殊功能寄存器;sf6為雙字節型特殊功能寄存器類型,占用兩個字節單元,利用它可以訪問MCS-51內部的所有兩個字節的特殊功能寄存器。在 C51中對特殊功能寄存器的訪問必須先用sfr或sfr16進行聲明。7、位類型這也是C51中擴充的數據類型,用于訪問MCS-51單片機中可尋址的位單元。在C51中,支持兩種位類型:bit型和sbit型。
8、它們在內存中都只占一個二進制位,其值可以是“1”或“0”。其中用bit定義的位變量在 C51編譯器編譯時,在不同的時候位地址是可以變化的。而用sbit定義的位變量必須與 MCS-51單片機的一個可以尋址位單元或可位尋址的字節單元 中的某一位聯系在一起,在C51編譯器編譯時,其對應的位地址是不可變化的。卜表為KEIL C51編譯器能夠識別的基本數據類型基本數據類型長度取值范圍Unsigned char1 B0255Signed char1 B-128+127Unsigned int2k065535Signed int2k-32768+32767Unsigned long4k04294967295
9、Signed long4k-2147483648+2147483637float4k± 1.175494E-38± 3.402823E+38bit1位0或1sbit1位0或1sfr1 B0255Sfr162k065535在C51語言程序中,有可能會出現在運算中數據類型不一致的情況。C51允許任何標準數據類型的隱式轉換,隱式轉換的優先順級順序如下:Bit->char->int->long->floatsigned->unsigned也就是說,當char型與int弄進行運算時,選自動對char型擴展為int型,然后與int型進行運算,運算結果為in
10、t型。C51除了支持隱式類型轉換外,還可以通過強制類型轉換符“()”對數據類型進行人為的強制轉換。C51 編譯器除了能支持以上這些基本數據類型之外, 還能支持一下結復雜的組合型數據類型, 如數組類型、 指針類型、 結構類型和聯合類型等復雜的數據類型。在本書的后面將相 繼介紹它們。 8、枚舉在C51語言中,用作標志的變量通常只能被賦予如下兩個值中的一個:True(1)或False(0)。但是在編程中,常常會將作為標志使用的變量賦予除了True或False(0)以外的值。另外,標志變量通常被定義為 int 數據類型, 在程序使用中作用往往會模糊不清。 為避免這種情況,在 C51 語言中提供枚舉類型處理這種情況。枚舉數據類型是一個有名字的某些整型常量的集合。 這些整型常量是該類型變量可取的所有合法值。枚舉定義時應當列出該類型變量的所有可取值。枚舉定義的格式與結構和聯合基本相同,也有兩種方法。先定義枚舉類型,再定義枚舉變量,格式如下:enum枚舉名枚舉值列表;enum枚舉名枚舉變量列表;或在定義枚舉類型的同時定義枚舉變量,格
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組織體檢活動方案
- 公司氣氛年會策劃方案
- 公司春訓活動策劃方案
- 公司植樹節春游活動方案
- 公司環保推廣活動方案
- 公司月度拓展活動方案
- 公司放假前活動方案
- 公司用凈水器展銷活動方案
- 公司給員工做美甲活動方案
- 公司福利電影票活動方案
- 華師版 八年級數學下冊 第二學期 期末綜合測試卷(2025年春)
- 2022年全國森林、草原、濕地調查監測技術規程-附錄
- 2025年春新北師大版數學一年級下冊課件 綜合實踐 設計教室裝飾圖
- 如何做好臨床護生的帶教
- 森林防火工程技術標準
- 體育賽事輿情處理及應對方案
- 2025年中醫治未病服務工作計劃及措施
- 《光伏電站運行與維護》課件-項目五 光伏電站常見故障處理
- 委托辦事合同范例
- 江西省撫州市2023-2024學年高二下學期期末考試數學
- 汽車以租代購合同
評論
0/150
提交評論