Float

來自ALSROBOT WiKi
2014年9月12日 (五) 13:57Admin討論 | 貢獻的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、 搜索

單精度浮點型
描述

float,浮點型數(shù)據(jù),就是有一個小數(shù)點的數(shù)字。浮點數(shù)經(jīng)常被用來近似的模擬連續(xù)值,因為他們比整數(shù)更大的精確度。浮點數(shù)的取值范圍在3.4028235 E+38 ~ -3.4028235E +38。它被存儲為32位(4字節(jié))的信息。

float只有6-7位有效數(shù)字。這指的是總位數(shù),而不是小數(shù)點右邊的數(shù)字。與其他平臺不同的是,在那里你可以使用double型得到更精確的結(jié)果(如15位),在Arduino上,double型與float型的大小相同。

浮點數(shù)字在有些情況下是不準(zhǔn)確的,在數(shù)據(jù)大小比較時,可能會產(chǎn)生奇怪的結(jié)果。例如 6.0 / 3.0 可能不等于 2.0。你應(yīng)該使兩個數(shù)字之間的差額的絕對值小于一些小的數(shù)字,這樣就可以近似的得到這兩個數(shù)字相等這樣的結(jié)果。

浮點運算速度遠遠慢于執(zhí)行整??數(shù)運算,例如,如果這個循環(huán)有一個關(guān)鍵的計時功能,并需要以最快的速度運行,就應(yīng)該避免浮點運算。程序員經(jīng)常使用較長的程式把浮點運算轉(zhuǎn)換成整數(shù)運算來提高速度。
舉例

    float myfloat;
    float sensorCalbrate = 1.117;

語法

float var = val;
  • var——您的float型變量名稱
  • val——分配給該變量的值

示例代碼

   int x;
   int y;
   float z;
 
   x = 1;
   y = x / 2;         // Y為0,因為整數(shù)不能容納分?jǐn)?shù)
   z = (float)x / 2.0;   // Z為0.5(你必須使用2.0做除數(shù),而不是2)