[数据类型]
说明
浮点数的数据类型,具有小数点的数字。浮点数通常用于近似模拟和连续值,因为它们比整数具有更高的分辨率。浮点数可以大到 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。