<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 在單片機中的浮點(diǎn)數編程

在單片機中的浮點(diǎn)數編程

作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò ) 收藏
問(wèn)題背景:

在使用8BIT單片機進(jìn)行開(kāi)發(fā),不支持浮點(diǎn)數運算。但是開(kāi)發(fā)必須用到sin,cos,arctan等浮點(diǎn)數函數。

本文引用地址:http://dyxdggzs.com/article/201611/318614.htm

苦想了兩天,才發(fā)現,自己要當一回“計算機”。

單片機不支持浮點(diǎn)數,可是編程卻一定要用到小數。這時(shí),只好自定義“定點(diǎn)小數”了。

所需的浮點(diǎn)數范圍有兩個(gè)區域-1~1,-60~60。精度就按小數點(diǎn)后2、3位了。

如果在高級語(yǔ)言中,我想定義的數組是

double arctantable[95]=

{

0.0174551,0.0349208, 0.0524078, 0.0699268, 0.0874887, 0.105104, 0.122785, 0.140541, 0.158384, 0.176327,

0.19438, 0.212557, 0.230868, 0.249328, 0.267949, 0.286745, 0.305731, 0.32492, 0.344328, 0.36397,

0.383864, 0.404026, 0.424475, 0.445229, 0.466308, 0.487733, 0.509525, 0.531709, 0.554309, 0.57735,

0.600861, 0.624869, 0.649408, 0.674509, 0.700208, 0.726543, 0.753554, 0.781286, 0.809784, 0.8391,

0.869287, 0.900404, 0.932515, 0.965689, 1, 1.03553, 1.07237, 1.11061, 1.15037, 1.19175,

1.2349,1.27994, 1.32704, 1.37638, 1.42815, 1.48256, 1.53986, 1.60033, 1.66428, 1.73205,

1.80405, 1.88073, 1.96261, 2.0503,2.14451, 2.24604, 2.35585, 2.47509, 2.60509, 2.74748,

2.90421, 3.07768, 3.27085, 3.48741, 3.73205, 4.01078, 4.33148, 4.70463, 5.14455, 5.67128,

6.31375, 7.11537, 8.14434, 9.51436, 11.43, 14.3007, 19.0811, 28.6362, 57.2899,

-57.2897, -0.0174551, 0.0174551, 57.2897, -57.2897,-0.0174551

};

在單片機中,我可不能這樣定義。會(huì )報錯的。

觀(guān)察數據后,我們發(fā)現整數部分要6bit,符號位要1bit,小數部分(0.99)110 0011(7bit),故一個(gè)浮點(diǎn)數,用2byte來(lái)表示,高8bit是符號位和整數部分,低8bit是小數部分。

0.0174551(0.02)在單片機中,可以表示為0x0002;

0.0349208,可表示為0x0003;

-57.2897,可表示為0xb91d;等等……



關(guān)鍵詞: 單片機浮點(diǎn)數編

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>