版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、KEILuVision2C51編譯器所支持的數(shù)據(jù)類型表中列出了KEILuVision2C51編譯器所支持的數(shù)據(jù)類型。在標(biāo)準(zhǔn)C語(yǔ)言中基本的數(shù)據(jù)類型為char,int,short,long,float和double,而在C51編譯器中int和short相同,float和double相同,這里就不列出說(shuō)明了。下面來(lái)看看它們的具體定義:數(shù)據(jù)類型長(zhǎng)度值域unsignedchar單字節(jié)0255signedchar單字節(jié)-128+127unsignedint雙字節(jié)065535signedint雙字節(jié)-32768+32767unsignedlong四字節(jié)o4294967295signedlong四字節(jié)-214
2、7483648+2147483647float四字節(jié)1.175494E-383.4o2823E+38*13字節(jié)對(duì)象的地址bit位0或1sfr單字節(jié)0255sfr16雙字節(jié)065535sbit位0或1TorboC編譯器的數(shù)據(jù)長(zhǎng)度說(shuō)明:整型變量整型變量可分為以下幾類:1.基本型類型說(shuō)明符為int,在內(nèi)存中占2個(gè)字節(jié),其取值為基本整常數(shù)。短整量類型說(shuō)明符為shortint或shortCllOFl。所占字節(jié)和取值范圍均與基本型相同。長(zhǎng)整型類型說(shuō)明符為longint或long,在內(nèi)存中占4個(gè)字節(jié),其取值為長(zhǎng)整常數(shù)。無(wú)符號(hào)型類型說(shuō)明符為unsigned。無(wú)符號(hào)型又可與上述三種類型匹配而構(gòu)成:無(wú)符號(hào)基本型類
3、型說(shuō)明符為unsignedint或unsigned。無(wú)符號(hào)短整型類型說(shuō)明符為unsignedshort無(wú)符號(hào)長(zhǎng)整型類型說(shuō)明符為unsignedlong各種無(wú)符號(hào)類型量所占的內(nèi)存空間字節(jié)數(shù)與相應(yīng)的有符號(hào)類型量相同。但由于省去了符號(hào)位,故不能表示負(fù)數(shù)。下表列出了TurboC中各類整型量所分配的內(nèi)存字節(jié)數(shù)及數(shù)的表示范圍。類型說(shuō)明符int數(shù)的范圍-3276832767分配字節(jié)數(shù)shortint-3276832767-3276832767signedintunsignedintlongint-21474836482147483647unsignedlong04294967295065535在ARM系統(tǒng)應(yīng)
4、用的數(shù)據(jù)類型如下不同編譯器可能有所不同ARM編譯器支持的數(shù)據(jù)類型TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTx數(shù)據(jù)類型長(zhǎng)度(位)對(duì)齊特性Char81(字節(jié)對(duì)齊)short162(百字對(duì)齊)Int324(字對(duì)齊)Long324(字對(duì)齊)Longlong644(字對(duì)齊)Float324(字對(duì)齊)Double644(字對(duì)齊)Longdouble644(字對(duì)齊)Allpointers324(字對(duì)齊)Bool(C
5、+only)324(字對(duì)齊)1.整數(shù)類型在ARM體系中,整數(shù)類型是以2的補(bǔ)碼形式存儲(chǔ)的。對(duì)于longlong類型來(lái)說(shuō),在littleendian內(nèi)存模式下,其低32位保存在低地址的字單元中,高32為保存在高地址的字單元中;在bigendian模式下,其低32位保存在高地址的字單元中,高32為保存在低地址的字單元中。對(duì)于整型數(shù)據(jù)的操作遵守下面的規(guī)則:*所有帶符號(hào)的整型書(shū)的運(yùn)算是按照二進(jìn)制的補(bǔ)碼進(jìn)行的。*帶符號(hào)的整型數(shù)的運(yùn)算不進(jìn)行符號(hào)的擴(kuò)展。*帶符號(hào)的整型數(shù)的右移操作是算數(shù)移位。*制定的移位位數(shù)的數(shù)是8位的無(wú)符號(hào)數(shù)。*進(jìn)行移位操作的數(shù)被作為32位數(shù)。*超過(guò)31位的邏輯左移的結(jié)果為0。*對(duì)于無(wú)符號(hào)數(shù)
6、和有符號(hào)的正數(shù)來(lái)說(shuō),超過(guò)32位的右移操作結(jié)果為0;對(duì)于有符號(hào)的負(fù)數(shù)來(lái)說(shuō),超過(guò)32位的右移操作結(jié)果為-1。*整數(shù)除法運(yùn)算的余數(shù)和除數(shù)有相同的符號(hào)。*當(dāng)把一個(gè)整數(shù)截?cái)喑晌粩?shù)更短的整數(shù)類型的數(shù)時(shí),并不能保證所得到的結(jié)果的最高位的符號(hào)位的正確性。*整型數(shù)據(jù)之間的類型轉(zhuǎn)換不會(huì)產(chǎn)生異常中斷。*整型數(shù)據(jù)的溢出不會(huì)產(chǎn)生異常中斷。*整型數(shù)據(jù)除以0將會(huì)產(chǎn)生異常中斷。2.浮點(diǎn)數(shù)在ARM體系中,浮點(diǎn)數(shù)是按照IEEE標(biāo)準(zhǔn)存儲(chǔ)的。*float類型的數(shù)是按照IEEE的單精度數(shù)表示的。*double和longdouble是用IEEE的雙精度數(shù)表示的。對(duì)于浮點(diǎn)數(shù)的操作遵守下面的規(guī)則:*遵守正常的IEEE754規(guī)則。*當(dāng)默認(rèn)情況
7、下禁止浮點(diǎn)數(shù)運(yùn)算異常中斷。*當(dāng)發(fā)生卷繞時(shí),用最接近的數(shù)據(jù)來(lái)表示。3.指針類型的數(shù)據(jù)下面的規(guī)則適用于處數(shù)據(jù)成員指針以外的其他指針:*NULL被定義為0。*相鄰的兩個(gè)存儲(chǔ)單元地址相差一。*在指向函數(shù)的指針和指向數(shù)據(jù)的指針進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),編譯器將會(huì)產(chǎn)生警告信息*類型size_t被定義為unsignedint.*類型ptrdiff_t被定義為signedint。*兩個(gè)指針類型的數(shù)據(jù)相減時(shí),結(jié)果可以按照下面的公式得到。(int)a-(int)b)/(int)sizeof(typepointedto)這時(shí),只要指針?biāo)傅膶?duì)象不是pack的,其對(duì)齊特性能夠滿足整除的要求。ARM基礎(chǔ)知識(shí)八TxTxTxTxTx
8、TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxARM編譯器中預(yù)定義的宏*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxT
9、xTxTxTxTxTxTxTxTxTxTxARM編譯器預(yù)定義了一些宏,這些預(yù)定義宏對(duì)應(yīng)一定的數(shù)值,有些預(yù)定義宏沒(méi)有對(duì)應(yīng)數(shù)值見(jiàn)下表:_arm_使用編譯器armcc,tcc,armcpp,tcpp時(shí)_ARMCC_VERSIONVer代表編譯器版本號(hào),其格式為:PVtbbb,其中:P為產(chǎn)品編號(hào)(1代表ADS)V為副版本號(hào)(1代表1.1)T為補(bǔ)丁版本號(hào)(0代表1.1)bbb為build號(hào)(比如650)_APCS_INTERWORK_使用編譯選項(xiàng)-apcs/interwork時(shí)_APCS_ROPI_使用編譯選項(xiàng)apcs/ropi時(shí)_RWPI_使用編譯選項(xiàng)-apcs/rwpi時(shí)_APCS_SWST_使用編
10、譯選項(xiàng)-apcs/swst時(shí)_BIG_ENDIAN_編譯器針對(duì)目標(biāo)系統(tǒng)使用big-endian內(nèi)存模式時(shí)_cplusplus_編譯器工作與C+模式時(shí)_CC_ARM_返回編譯器的名稱_DATE_date編譯源文件的日期_embedded_cplusplus編譯器工作于EC+模式時(shí)_FEATURE_SINGED_CHAE使用編譯設(shè)置選項(xiàng)-zc時(shí)設(shè)置該預(yù)定義宏_FILE_name包含全路徑的當(dāng)前被編譯的源文件名稱_func_name當(dāng)前被編譯的函數(shù)名稱_LINE_num當(dāng)前被編譯的代碼行號(hào)名稱_MOUDLE_mod預(yù)定義宏_FILE_的文件名稱部分_OPTIMISE_SPACE_使用編譯選項(xiàng)-OSP
11、ACE時(shí)_OPTIMISE_TIME_使用編譯選項(xiàng)-Otime時(shí)_pretty_funcnameunmangled的當(dāng)前函數(shù)名稱_sizeof_int4sizeof(int),在預(yù)處理表達(dá)式中可以使用_sizeof_long4sizeof(long),在預(yù)處理表達(dá)式中可以使用_sizeof_ptr4sizeof(void*)在預(yù)處理表達(dá)式中可以使用_SOFTFP_編譯時(shí)使用浮點(diǎn)數(shù)_在各種編譯器模式下_STDC_VERSION_標(biāo)準(zhǔn)的版本信息_STRICT_ANSI_使用編譯選項(xiàng)-STRICT時(shí)_TARGET_ARCH_xx_xx代表ARM體系編號(hào)_TARGET_CPU_xx_xx代表CPU編號(hào)_TARGET_FEATURE_當(dāng)ARM體系支持指令PLD,LDRD,STRD,MCRR,MRRC時(shí)DOUBLEWORD_設(shè)置該定義宏_TARGET_FEATURE_當(dāng)系統(tǒng)中包含DSP乘法處理器時(shí),設(shè)置該DSPMUL_預(yù)定義宏_TARGET_FEATURE_如果目標(biāo)ARM體系支持半字訪問(wèn)以及有符號(hào)的字節(jié)數(shù)據(jù)HALFWORD_,設(shè)置該預(yù)定義宏_TARGET_FEATURE_如果目標(biāo)ARM體系支持長(zhǎng)乘法指令MULL和MULTIPLY_MUAL,設(shè)置該預(yù)定義宏_TARGET_FEATURE_如果目標(biāo)ARM體系支持THUM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)水利水電專
- 快消品商品范本招商政策制度
- 反擔(dān)保償還協(xié)議書(shū)(2篇)
- 美容店美導(dǎo)考核晉級(jí)制度
- 鋼結(jié)構(gòu)課程設(shè)計(jì)門(mén)式
- 垃圾分類工作實(shí)施方案
- 未來(lái)貨運(yùn):智能化重塑
- 飲食智慧健康生活
- 新能源車(chē):環(huán)保駕馭新時(shí)代
- 民宿管理系統(tǒng)課程設(shè)計(jì)
- 2023-2024學(xué)年全國(guó)小學(xué)二年級(jí)上數(shù)學(xué)人教版期中考試試卷(含答案解析)
- 3上修改病句練習(xí)
- 2024年廣東茂名高州市教師發(fā)展中心和高州市教育事務(wù)中心選聘歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024年建筑繼續(xù)教育-一級(jí)建造師繼續(xù)教育考試近5年真題集錦(頻考類試題)帶答案
- 廣西七市聯(lián)考2025屆高三上學(xué)期10月摸底測(cè)試 歷史 含答案
- 2024年秋季新人教版7年級(jí)上冊(cè)生物課件 第2單元 第2章大單元整體設(shè)計(jì)
- 大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo) 課件 模塊3、4 職業(yè)世界探索、大學(xué)生就業(yè)和未來(lái)發(fā)展的主要方式
- 教育家精神引領(lǐng)高校教師成長(zhǎng)的解釋框架、認(rèn)知坐標(biāo)與行動(dòng)路徑
- Unit3 My Weekend Plan(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語(yǔ)六年級(jí)上冊(cè)
- 2024年山東“大學(xué)習(xí)、大培訓(xùn)、大考試”試題庫(kù)
- 2024年中國(guó)誠(chéng)通控股集團(tuán)限公司總部公開(kāi)招聘高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論