|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
C51有比long型更大的數(shù)據(jù)類型嗎? |
| 作者:圣域天子 欄目:單片機(jī) |
好象不支持LONG LONG哦 我的應(yīng)用使用32bit的LONG太小了點(diǎn). |
| 2樓: | >>參與討論 |
| 作者: 李冬發(fā) 于 2006/1/22 14:37:00 發(fā)布:
沒有! 自己寫個(gè)64bit的加減乘除的子程序吧,加減很容易做的,乘除會(huì)難一點(diǎn),用手算法代碼也不多,就是2個(gè)LONG分別乘或除,調(diào)整進(jìn)位,然后再相加或相減。 |
|
| 3樓: | >>參與討論 |
| 作者: 圣域天子 于 2006/1/22 16:04:00 發(fā)布:
這個(gè)我會(huì), 但是芯片的空間快滿了 傷腦精啊 |
|
| 4樓: | >>參與討論 |
| 作者: isoar 于 2006/1/22 19:13:00 發(fā)布:
換ROM空間更大的芯片 |
|
| 5樓: | >>參與討論 |
| 作者: dpjmxd 于 2006/1/22 21:32:00 發(fā)布:
不會(huì)吧?LONG.html">LONG型還不能滿足你的需要? 你的C51應(yīng)用是哪方面的?沒有理由會(huì)用到這么大的數(shù)據(jù)類型,一般用到Int型已經(jīng)能解決問題。如果是LONG型還不能夠滿足你的要求,我認(rèn)為你應(yīng)該考慮一下你的程序結(jié)構(gòu)和算法。 |
|
| 6樓: | >>參與討論 |
| 作者: 筱雨琳 于 2006/1/22 21:48:00 發(fā)布:
沒有 如果你的rom空間不夠,那就換片子,不過要注意片子之間的驅(qū)動(dòng)能力問題! |
|
| 7樓: | >>參與討論 |
| 作者: 圣域天子 于 2006/1/22 23:54:00 發(fā)布:
做計(jì)數(shù)器的,整數(shù)部分至少7位,小數(shù)部分7位 至少就14位了,所以LONG絕對(duì)不夠用. 我還是用BCD組合吧,已經(jīng)想了很多辦法進(jìn)行精簡(jiǎn)優(yōu)化了 就差那么一丁點(diǎn)兒...那么一丁點(diǎn)兒...那么一丁點(diǎn)兒... 點(diǎn)兒...點(diǎn)兒...點(diǎn)兒... |
|
| 8樓: | >>參與討論 |
| 作者: coldra 于 2006/1/23 0:22:00 發(fā)布:
暈,再去簡(jiǎn)一丁點(diǎn)吧 |
|
| 9樓: | >>參與討論 |
| 作者: zhaoyu2005 于 2006/1/23 9:13:00 發(fā)布:
用float型嘛 四個(gè)字節(jié),最高位為符號(hào)位,接下來8位為階碼(與指數(shù)有一定對(duì)應(yīng)關(guān)系,查資料驗(yàn)證,我講不清楚),余下23位為小數(shù) |
|
| 10樓: | >>參與討論 |
| 作者: 圣域天子 于 2006/1/23 10:01:00 發(fā)布:
不太明白樓上的意思 是指 3E5 這種表示嗎? 不行的, 14位數(shù)字都要精確的,不能是近似的. |
|
| 11樓: | >>參與討論 |
| 作者: dpjmxd 于 2006/1/23 10:16:00 發(fā)布:
我的辦法 可以用兩個(gè)LONG.html">LONG型拼接來解決,低位LONG型溢出后往高位LONG進(jìn)位,小數(shù)同理用兩個(gè)LONG來單獨(dú)計(jì)算.目前我還沒有想到比這更好的辦法. |
|
| 12樓: | >>參與討論 |
| 作者: 圣域天子 于 2006/1/23 11:31:00 發(fā)布:
由于要支持負(fù)數(shù),用兩個(gè)接很麻煩. 對(duì)于負(fù)數(shù)處理起來要寫一大堆代碼 |
|
| 13樓: | >>參與討論 |
| 作者: zhaoyu2005 于 2006/1/23 12:39:00 發(fā)布:
和3E5,差不多,但不一樣 大哥,整數(shù)部分默認(rèn)為1,不存儲(chǔ),后邊小數(shù)23位,計(jì)算完以后,從最后3位開始舍去,你還有精確的20位可用,我就不信精確度滿足不了你的要求 |
|
| 14樓: | >>參與討論 |
| 作者: 圣域天子 于 2006/1/23 23:44:00 發(fā)布:
樓上,我還是不太明白你的意思 能發(fā)段說明原理的代碼嗎? |
|
| 15樓: | >>參與討論 |
| 作者: xiajiean 于 2006/1/24 13:08:00 發(fā)布:
既然是計(jì)數(shù)器,小數(shù)點(diǎn)又是固定的,很簡(jiǎn)單的,自己做數(shù)據(jù)嘛 既然是計(jì)數(shù)器,可以肯定是從最低位加起,處理好進(jìn)位就行了,占用51 6byte,bcd碼7byte, 程序應(yīng)該是不難的。 zhaoyu2005 大俠 LONG 只有 3個(gè)有效數(shù)據(jù)字節(jié)哎,概念有沒有搞錯(cuò)。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |