Тип float служит для хранения вещественных чисел. Вещественные числа (числа с плавающей запятой) часто используются для представления аналоговых или непрерывных величин, т.к. они позволяют описать их более точно, чем целые числа. Вещественные числа представляют собой 32 бита (4 байта) информации и лежат в диапазоне от -3.4028235E+38 до 3.4028235E+38. Точность вещественных чисел типа float составляет 6-7 десятичных знаков. Здесь имеется ввиду общее количество цифр, а не количество знаков после запятой. В отличие от других платформ, где более высокой точности можно добиться за счет использования типа double (до 15 знаков), в Arduino тип double имеет такую же размерность, как и float.
Вещественные числа не являются точными, что может приводить к неожиданным результатам при их сравнении. Например, 6.0/3.0 может не равняться 2.0. Поэтому, вместо сравнения двух чисел следует проверять, является ли абсолютное значение их разности меньше некоторого небольшого значения.
Математические операции с вещественными числами осуществляются гораздо медленнее, чем операции с целыми числами. Поэтому в некоторых ситуациях их следует избегать, например, в циклах, внутри которых осуществляются критичные ко времени функции. С целью повышения производительности программисты часто идут на увеличение программного кода для того, чтобы преобразовать дробные вычисления в целочисленные.
Если необходимо объявить вещественное число, то нужно указывать в нем десятичную точку, иначе оно будет рассматриваться как число типа int.
Пример
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, тип int не может хранить дробные числа
z = (float)x / 2.0; // z равна .5 (следует использовать 2.0, а не 2)
Смотрите также:
double
int
Объявление переменных
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/Float |