音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請問在ICC里把一個3位數(shù)組按順序裝進long變量里,怎么最快最省?

作者:lism 欄目:技術(shù)交流
請問在ICC里把一個3位數(shù)組按順序裝進LONG變量里,怎么最快最?
請問在ICCAVR里面把BUF[0],BUF[1],BUF[2]按順序裝進一個LONG變量里,用什么方法最快?最省?
tempuLONG=buf[0];
      tempuLONG<<=8;
     tempuLONG+=buf[1];
     tempuLONG<<=8;
     tempuLONG+=buf[2];
這樣的程序占0.2k,暈~

2樓: >>參與討論
computer00
試試這個:
((unsigned CHAR *)&tempulong)[0]=buf[2];
((unsigned CHAR *)&tempulong)[1]=buf[1];
((unsigned CHAR *)&tempulong)[2]=buf[0];
((unsigned CHAR *)&tempulong)[3]=0;

3樓: >>參與討論
lism
好用!太謝謝了!
 
4樓: >>參與討論
xwj
聯(lián)合
 
5樓: >>參與討論
lism
發(fā)現(xiàn)AVR(ICC)處理整型比較快,是否是16位機的原因?
uint TEMP;
TEMP=(buf[0]<<8)|buf[1];
TEMP=~TEMP;

buf[0]=~buf[0];
buf[1]=~buf[1];
TEMP=(buf[0]<<8)|buf[1];
的代碼還要少。

請問這句用聯(lián)合體還會快嗎?
TEMP=(buf[0]<<8)|buf[1];

上面有點不明白
長整型不是3byte嗎?
((unsigned CHAR *)&TEMPulong)[0]
((unsigned CHAR *)&TEMPulong)[1]
((unsigned CHAR *)&TEMPulong)[2]
分別代表多少bit到多少bit?
((unsigned CHAR *)&TEMPulong)[3]
又是第幾bit?

6樓: >>參與討論
computer00
長整型是4Byte吧?
我記得ICCAVR是小端存儲模式,因此

((unsigned CHAR *)&tempulong)[0]   表示最低8位
((unsigned CHAR *)&tempulong)[1]   表示次低8位
((unsigned CHAR *)&tempulong)[2]   表示次高8位
((unsigned CHAR *)&tempulong)[3]   表示最高8位


參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
測量溫度用PT100好還是熱電偶好?
算我題目沒說清楚吧,來個更狠的——(題目要求已經(jīng)又明確一遍)
大伙幫幫我啊
關(guān)于脈沖變壓器的問題
求教封裝與電特性之間關(guān)系的問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號