|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于51編程 |
| 作者:net.x 欄目:技術(shù)交流 |
現(xiàn)在想把一個unsigned int型的各位值取出。例如:一個整型56398,現(xiàn)在要把5,6,3,9,8取出,賦值給5個其他變量 用C或者匯編來編程,要求用盡量少的指令周期(用除法的方法指令周期太長),不知道大家有什么好辦法? |
| 2樓: | >>參與討論 |
| 作者: conwh 于 2006/12/17 18:47:00 發(fā)布:
應該是二進制轉(zhuǎn)換成單字節(jié)的BCD嗎?如果是這個,則到社區(qū)搜一下 |
|
| 3樓: | >>參與討論 |
| 作者: manbo789 于 2006/12/17 19:04:00 發(fā)布:
n=56398; i=n/10000; 5 i=n-n/10000; 6 i=n-n/1000*1000; 3 i=n-n/100*100; 9 i=n-n/10*10; 8 |
|
| 4樓: | >>參與討論 |
| 作者: manbo789 于 2006/12/17 19:17:00 發(fā)布:
對不起,寫錯了 i=n/10000.html">10000; 5 i=(n-n/10000.html">10000*10000.html">10000)/1000; 6 i=(n-n/1000*1000)/100; 3 i=(n-n/100*100)/10; 9 i=n-n/10*10; 8 |
|
| 5樓: | >>參與討論 |
| 作者: tyw 于 2006/12/17 21:02:00 發(fā)布:
轉(zhuǎn)成字符取,再把字符轉(zhuǎn)回數(shù)字賦值給變量 * - 本貼最后修改時間:2006-12-17 21:05:02 修改者:tyw |
|
| 6樓: | >>參與討論 |
| 作者: 567 于 2006/12/17 22:05:00 發(fā)布:
如下 i1=n/10000.html">10000; // 萬位 i2=(n%10000.html">10000)/1000; // 千位 i3=n%1000/100; // 百位 i4=n%100/10; // 十位 i5=n%10; // 個位 |
|
| 7樓: | >>參與討論 |
| 作者: net.x 于 2006/12/17 22:15:00 發(fā)布:
上面除法和取余的算法指令周期太長 除法的指令周期為4個,這樣算出5個數(shù)字要好幾十個指令周期吧? 上面有人說是轉(zhuǎn)換成字符,請問能直接轉(zhuǎn)嗎? |
|
| 8樓: | >>參與討論 |
| 作者: 赤鑄 于 2006/12/17 22:22:00 發(fā)布:
循環(huán)除以10取余數(shù) 好像沒別的辦法, itoa 庫函數(shù)也是這么實現(xiàn)的 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |