《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > DSP編程技巧之:數(shù)據(jù)類型

DSP編程技巧之:數(shù)據(jù)類型

2015-09-18
關(guān)鍵詞: DSP 編程技巧

  DSP的C/C++編程時有多少種數(shù)據(jù)類型?float,double和long double,long和long long這些繞口的名字究竟有什么區(qū)別?數(shù)據(jù)類型使用不正確又會有什么后果?如果你感覺說不清楚,那我們來看看這些到底都是何方神圣吧:
  64位整數(shù)的處理
  從上面的表中,可以看出C28x的編譯器是支持64位的整數(shù)類型的,這使得在處理某些高精度智能編碼器的反饋數(shù)據(jù)時特別方便,因為在更老的不支持64位整數(shù)類型的器件上編程時,需要我們自己定義64位類型,在運算時要自己定義運算規(guī)則才行。一個long long類型的整數(shù)需要使用ll或者LL前綴,才能被I/O正確處理,例如,我們使用下面的代碼才能正確把它們顯示在屏幕上:
  printf("%lld", 0x0011223344556677);
  printf("%llx", 0x0011223344556677);
  需要注意的是,雖然編譯器支持了64位整數(shù),但是實際的CPU的累加器還有相關(guān)的CPU寄存器還是32位的,在程序運行時,64位整數(shù)類型是被CPU“軟支持”的。我們可以添加相關(guān)的實時運行庫來提高效率,其中包含了llabs(), strtoll() 和strtoull()等函數(shù)。
  DSP編程技巧之:數(shù)據(jù)類型
  浮點的處理
  從表1中我們可以看出,C28x的編譯器支持32位的單精度浮點、64位的單精度和雙精度浮點運算。在定義雙精度64位變量時,也要記得使用l或者L前綴,否則會被視為雙精度的32位變量,造成精度的損失。例如:
  long double a = 12.34L; 初始化為雙精度64位浮點
  long double b = 56.78; 把單精度浮點強制類型轉(zhuǎn)換為雙精度浮點
  在I/O處理時,也要標(biāo)有相關(guān)的前綴,例如:
  printf("%Lg", 1.23L);
  printf("%Le", 3.45L);

  需要注意的是,雖然編譯器支持了雙精度浮點,但是FPU只支持硬件的32位單精度浮點,在程序運行時,雙精度浮點類型是被CPU“軟支持”的。特別是long double的操作,需要多個CPU寄存器的配合才能完成(代碼尺寸和執(zhí)行時間都會變長);在多個long double操作數(shù)的情況下,前兩個操作數(shù)的地址會傳遞到CPU輔助寄存器XAR4和XAR5中,其它的地址則被放置在棧中。例如下面的代碼中:
  long double foo(long double a, long double b, long double c)
  {
  long double d = a + b + c;
  return d;
  }
  long double a = 1.2L;
  long double b = 2.2L;
  long double c = 3.2L;
  long double d;
  void bar()
  {
  d = foo(a, b, c);
  }
  在函數(shù)bar()中調(diào)用foo的時候,CPU寄存器的值為:
  CPU寄存器 寄存器的值
  XAR4 變量a的地址
  XAR5 變量b的地址
  *.SP[2] 變量c的地址
  XAR6 變量d的地址
  CPU寄存器寄存器的值:
  在C28x的浮點操作中,以加法為例,其匯編代碼是有區(qū)別的:
  LCR FS$$ADD ; 單精度加法
  LCR FD$$ADD ; 雙精度加法
  一般情況下,沒有特殊的需要,完全可以不實用雙精度的浮點,例如在電機控制系統(tǒng)中,因為A/D采樣的精度限制,整個系統(tǒng)的精度是無法實現(xiàn)那么高的精度的。
  數(shù)據(jù)類型很多,使用時一定要小心
  單精度與雙精度,有符號與無符號,一個大于65535的數(shù)賦給16位寬的類型……這些轉(zhuǎn)換都是隱患重重,使用一定要小心啊!例如:
  如果你用Excel分析對比數(shù)據(jù)
  記得Excel中浮點類型只能使用雙精度的浮點數(shù)。所以如果你把DSP中單精度的浮點數(shù)據(jù)取出放入Excel中,發(fā)現(xiàn)數(shù)據(jù)發(fā)生了變化,就不會覺得奇怪了。例如,單精度浮點的0.2放到Excel,就變成0.200000002980232了。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区精品在线| 99视频在线精品国自产拍免费观看 | 在线播放不卡| 欧美激情亚洲精品| 欧美高清不卡在线| 欧美成人r级一区二区三区| 久久这里只有| 久久综合色天天久久综合图片| 久久久久国产精品一区三寸| 久久大综合网| 久久久久高清| 免费观看成人鲁鲁鲁鲁鲁视频 | 国产一区二区三区无遮挡| 国产精品入口日韩视频大尺度| 欧美午夜女人视频在线| 欧美亚一区二区| 国产精品久久中文| 国产欧美日韩精品丝袜高跟鞋| 国产欧美一区二区精品秋霞影院| 国产欧美日韩综合一区在线观看| 国产精品毛片在线看| 国产欧美短视频| 国内精品写真在线观看| 亚洲电影专区| 亚洲日本理论电影| 一区二区电影免费观看| 亚洲一区二区免费视频| 欧美在线视频a| 亚洲国产日韩一区| 夜夜爽99久久国产综合精品女不卡| 一本大道av伊人久久综合| 一区二区国产在线观看| 亚洲综合国产| 久久久久久久久久久久久女国产乱| 久久亚洲私人国产精品va媚药| 麻豆精品视频在线观看| 欧美日本亚洲韩国国产| 国产精品h在线观看| 国产婷婷精品| 91久久精品一区二区别| 夜夜嗨av一区二区三区四区 | 欧美一级艳片视频免费观看| 亚洲国产cao| 99ri日韩精品视频| 亚洲欧美在线网| 久久人人爽爽爽人久久久| 欧美顶级艳妇交换群宴| 欧美午夜在线观看| 精品1区2区3区4区| 日韩一区二区电影网| 午夜在线视频一区二区区别| 亚洲国产精品美女| 亚洲婷婷综合久久一本伊一区| 久久国内精品视频| 欧美日韩国产bt| 国产日韩欧美麻豆| 亚洲人体偷拍| 欧美一级淫片aaaaaaa视频| 亚洲精品一品区二品区三品区| 亚洲欧美日韩精品久久亚洲区 | 亚洲人午夜精品免费| 亚洲一级片在线观看| 久久青草久久| 国产精品国产亚洲精品看不卡15| 国产一区二区高清| 99国产精品久久久久老师| 欧美在线亚洲一区| 亚洲在线观看视频网站| 久久中文久久字幕| 国产精品素人视频| 亚洲国产一区二区a毛片| 午夜精品三级视频福利| 亚洲伦理一区| 久久一区亚洲| 国产精品综合| 99精品欧美一区二区三区综合在线| 久久激情五月丁香伊人| 亚洲一区二区三区免费观看 | 国产精品久99| 亚洲区第一页| 久久av老司机精品网站导航| 亚洲午夜久久久久久尤物| 欧美+亚洲+精品+三区| 国产女同一区二区| 在线中文字幕一区| 亚洲美女免费精品视频在线观看| 久久久夜夜夜| 国产欧美日韩综合一区在线观看| 一道本一区二区| 日韩视频中午一区| 免费成人在线视频网站| 国产视频在线观看一区二区三区 | 亚洲综合色自拍一区| 一本色道久久综合狠狠躁的推荐| 快she精品国产999| 国产一区在线看| 新狼窝色av性久久久久久| 亚洲综合精品一区二区| 欧美日韩一区二区三区在线观看免| 亚洲国产免费看| 亚洲高清免费在线| 久久九九国产精品怡红院| 国产精品自拍网站| 亚洲专区一区| 亚洲欧美日韩国产一区| 欧美日韩在线视频观看| 亚洲精品在线免费观看视频| 亚洲人成绝费网站色www| 六月婷婷久久| 精品动漫一区二区| 亚洲第一精品久久忘忧草社区| 久久久www| 国产有码一区二区| 久久狠狠婷婷| 每日更新成人在线视频| 激情综合亚洲| 亚洲国产欧美日韩| 免费在线成人av| 伊人婷婷欧美激情| 亚洲精品国产精品乱码不99按摩| 蜜臀久久99精品久久久画质超高清| 好看的日韩视频| 亚洲国产高清一区二区三区| 六月婷婷一区| 亚洲精品少妇30p| 中文久久精品| 国产精品成人免费视频| 亚洲亚洲精品三区日韩精品在线视频| 亚洲自拍高清| 国产欧美一级| 久久精品人人做人人爽| 久久综合久色欧美综合狠狠| 在线成人h网| 99re6这里只有精品| 欧美午夜电影一区| 亚洲在线一区| 久久久久中文| 91久久久久久久久| 亚洲视频在线免费观看| 国产精品久久久久婷婷| 欧美一级网站| 欧美高清免费| 中文在线一区| 久久久久综合| 亚洲精品国产精品国产自| 亚洲一区二区三区精品在线| 国产精品一卡二| 久久精品国产清高在天天线 | 欧美日韩一级视频| 亚洲永久在线观看| 久久嫩草精品久久久精品| 亚洲国产精品黑人久久久| 9l视频自拍蝌蚪9l视频成人| 国产精品精品视频| 久久精品色图| 欧美精品在线网站| 亚洲免费中文字幕| 久久综合99re88久久爱| 日韩视频一区二区在线观看| 午夜精品福利在线观看| 国内精品久久久久久 | 国产精品国产a级| 欧美在线观看一区二区| 欧美大片在线观看一区二区| 一区二区三区色| 久久人人爽人人爽爽久久| 亚洲精品一二三区| 欧美一区二区在线免费观看| 一区在线电影| 亚洲欧美日韩在线观看a三区| 极品裸体白嫩激情啪啪国产精品 | 欧美亚洲一区二区在线| 亚洲久色影视| 亚洲自拍偷拍麻豆| 久久尤物电影视频在线观看| 9久草视频在线视频精品| 久久精品亚洲热| 99re在线精品| 免费不卡视频| 亚洲欧美日韩另类精品一区二区三区| 欧美va天堂va视频va在线| 亚洲影院一区| 欧美人成在线| 久久se精品一区二区| 欧美午夜电影在线观看| 久久精品夜色噜噜亚洲a∨| 欧美日韩在线播放| 亚洲国产专区| 国产欧美精品日韩| 亚洲香蕉视频| 亚洲国产成人精品女人久久久| 午夜精品一区二区三区四区| 亚洲国产精品久久久| 久久久久久久一区二区三区| 中日韩美女免费视频网址在线观看| 蜜臀av在线播放一区二区三区| 亚洲欧美在线视频观看| 欧美视频中文字幕| 亚洲精品久久| 黑人极品videos精品欧美裸|