<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32——C語(yǔ)言數(shù)據(jù)類型

          STM32——C語(yǔ)言數(shù)據(jù)類型

          作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
          在編程過(guò)程中,不同的CPU,其數(shù)據(jù)類型的意義各不相同,所以一定要注意相應(yīng)變量數(shù)據(jù)類型的定義和轉(zhuǎn)換,否則在計(jì)算中可能會(huì)出現(xiàn)不確定的錯(cuò)誤。

          (一)C語(yǔ)言中的種類數(shù)據(jù)

          本文引用地址:http://www.ex-cimer.com/article/201611/320693.htm

          整型:int short long

          實(shí)型:float double

          STM32中的數(shù)據(jù)類型非常的多,常用的變量,文件中的定義如下:

          /* exact-width signed integer types */
          typedef signed char int8_t;
          typedef signed short int int16_t;
          typedef signed int int32_t;
          typedef signed __int64 int64_t;

          /* exact-width unsigned integer types */
          typedef unsigned char uint8_t;
          typedef unsigned short int uint16_t;
          typedef unsigned int uint32_t;
          typedef unsigned __int64 uint64_t;

          typedef int32_t s32;
          typedef int16_t s16;
          typedef int8_t s8;

          typedef uint32_t u32;
          typedef uint16_t u16;
          typedef uint8_t u8;

          還有float int編譯器中不能看到其定義(估計(jì)已編譯了)。

          因此在STM32編程中,常用的數(shù)據(jù)類型有:char(字符型),u8,u16 ,u32,但是在一些計(jì)算中,涉及到負(fù)數(shù),小數(shù),因此要用到:int float doulbe 型。

          其中u8——1個(gè)字節(jié),無(wú)符號(hào)型(不能表達(dá)負(fù)數(shù),如果用來(lái)當(dāng)作負(fù)數(shù)的話,就出錯(cuò)了);

          u16 ——2個(gè)字節(jié),無(wú)符號(hào)型(參看前邊STM32f10x.h中的定義);

          u32——4個(gè)字節(jié),無(wú)符號(hào)型;

          int——4個(gè)字節(jié),有符號(hào)型,可以表達(dá)負(fù)整數(shù);

          float ——4個(gè)字節(jié),有符號(hào)型,可以表達(dá)負(fù)數(shù)/小數(shù);

          double——8個(gè)字節(jié),有符號(hào)弄,可以表達(dá)負(fù)數(shù)/小數(shù);

          (二)不同類型數(shù)據(jù)的混合運(yùn)算

          在C語(yǔ)言中,不同類型的數(shù)據(jù)間是可以混合運(yùn)算的。在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)則如下:

          注意:箭頭的方向只表示數(shù)據(jù)類型級(jí)別的高低,由低向高轉(zhuǎn)換,這個(gè)轉(zhuǎn)換過(guò)程是一步到位的。

          (三)數(shù)據(jù)類型轉(zhuǎn)換規(guī)則

          各類數(shù)據(jù)類型的轉(zhuǎn)換,分為兩種方式:隱式(編譯軟件自動(dòng)完成),顯式(程序強(qiáng)制轉(zhuǎn)換)

          隱式轉(zhuǎn)換規(guī)則:

          字符必須先轉(zhuǎn)換為整數(shù)(C語(yǔ)言規(guī)定字符類型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用)
          short型轉(zhuǎn)換為int型(同屬于整型)
          float型數(shù)據(jù)在運(yùn)算時(shí)一律轉(zhuǎn)換為雙精度(double)型,以提高運(yùn)算精度(同屬于實(shí)型)
          賦值時(shí),一律是右部值轉(zhuǎn)換為左部類型
          [注]
          當(dāng)整型數(shù)據(jù)和雙精度數(shù)據(jù)進(jìn)行運(yùn)算時(shí),C先將整型數(shù)據(jù)轉(zhuǎn)換成雙精度型數(shù)據(jù),再進(jìn)行運(yùn)算,結(jié)果為雙精度類型數(shù)據(jù)
          當(dāng)字符型數(shù)據(jù)和實(shí)型數(shù)據(jù)進(jìn)行運(yùn)算時(shí),C先將字符型數(shù)據(jù)轉(zhuǎn)換成實(shí)型數(shù)據(jù),然后進(jìn)行計(jì)算,結(jié)果為實(shí)型數(shù)據(jù)

          顯式轉(zhuǎn)換規(guī)則:

          例:(int)(x+y);

          注:強(qiáng)制類型轉(zhuǎn)換時(shí),得到一個(gè)所需要的中間變量,原來(lái)變量的類型未發(fā)生變化。



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();