[數據類型]
說明
浮點數的數據類型,具有小數點的數字。浮點數通常用於近似模擬和連續值,因為它們比整數具有更高的分辨率。浮點數可以大到 3.4028235E+38,小到 -3.4028235E+38。它們存儲為 32 位(4 個字節)的信息。
用法
float var = val;
參數
var
: 變量的名稱。
val
:您分配給該變量的值。
示例代碼
float myfloat;
float sensorCalbrate = 1.117;
int x;
int y;
float z;
x = 1;
y = x / 2; // y now contains 0, ints can't hold fractions
z = (float)x / 2.0; // z now contains .5 (you have to use 2.0, not 2)
注意事項和警告
如果使用浮點數進行數學運算,則需要添加小數點,否則將被視為 int。有關詳細信息,請參閱Floating point 常量頁麵。
浮點數據類型隻有 6-7 個十進製數字的精度。這意味著總位數,而不是小數點右側的數字。與其他平台不同,在其他平台上,您可以通過使用雙精度(例如最多 15 位)來獲得更高的精度,在 Arduino 上,雙精度與浮點數相同。
浮點數並不精確,比較時可能會產生奇怪的結果。例如 6.0 /3.0 可能不等於 2.0。相反,您應該檢查數字之間差異的絕對值是否小於某個小數字。
從浮點數轉換為整數數學會導致截斷:
float x = 2.9; // A float type variable
int y = x; // 2
相反,如果您想在轉換過程中四舍五入,則需要添加 0.5
:
float x = 2.9;
int y = x + 0.5; // 3
或使用 round()
函數:
float x = 2.9;
int y = round(x); // 3
浮點數學在執行計算時也比整數數學慢得多,因此應該避免,例如,如果一個循環必須以最高速度運行一個關鍵的時序函數。程序員經常不遺餘力地將浮點計算轉換為整數數學以提高速度。
相關用法
- Arduino for用法及代碼示例
- Arduino long用法及代碼示例
- Arduino Arduino_EMBRYO_2 - setLengthXY()用法及代碼示例
- Arduino ~用法及代碼示例
- Arduino ArduinoBLE - bleDevice.advertisedServiceUuidCount()用法及代碼示例
- Arduino const用法及代碼示例
- Arduino Ethernet - server.begin()用法及代碼示例
- Arduino ArduinoBLE - BLEService()用法及代碼示例
- Arduino digitalWrite()用法及代碼示例
- Arduino ArduinoBLE - bleCharacteristic.subscribe()用法及代碼示例
- Arduino Servo - attach()用法及代碼示例
- Arduino write()用法及代碼示例
- Arduino Arduino_LSM9DS1 - readGyroscope()用法及代碼示例
- Arduino ArduinoSound - FFTAnalyzer.input()用法及代碼示例
- Arduino MKRGSM - gprs.attachGPRS()用法及代碼示例
- Arduino WiFiNINA - WiFi.config()用法及代碼示例
- Arduino MKRGSM - sms.read()用法及代碼示例
- Arduino MKRNB - getCurrentCarrier()用法及代碼示例
- Arduino Scheduler - Scheduler.startLoop()用法及代碼示例
- Arduino Arduino_LSM9DS1 - magneticFieldAvailable()用法及代碼示例
- Arduino MKRWAN - available()用法及代碼示例
- Arduino ArduinoBLE - BLE.poll()用法及代碼示例
- Arduino ArduinoBLE - bleCharacteristic.hasDescriptor()用法及代碼示例
- Arduino Ethernet - EthernetUDP.parsePacket()用法及代碼示例
- Arduino WiFi101 - WiFi.subnetMask()用法及代碼示例
注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 float。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。