Arduino:Справочник языка Arduino/Типы данных/float: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">»)
 
Нет описания правки
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{#setlogo:ArduinoCommunityLogo.png}}
{{Arduino панель перехода}}
{{Arduino панель перехода}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
Строка 15: Строка 14:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
float myfloat;
float myfloat;
float sensorCalbrate = 1.117;
float sensorCalbrate = 1.117;
Строка 22: Строка 21:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
float var = val;
float var = val;
var - имя переменной
var - имя переменной
Строка 30: Строка 29:
==Пример использования в коде==
==Пример использования в коде==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
int x;
int x;
int y;
int y;
Строка 41: Строка 40:


==См.также==
==См.также==


==Внешние ссылки==
==Внешние ссылки==


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}


[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]
[[Категория:Типы данных языка Arduino]]
[[Категория:Типы данных языка Arduino]]

Текущая версия от 11:27, 8 июля 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


float

Тип данных float служит для хранения чисел с плавающей запятой. Этот тип часто используется для операций с данными, считываемыми с аналоговых входов. Диапазон значений — от -3.4028235E+38 до 3.4028235E+38. Переменная типа float занимает 32 бита (4 байта) в памяти.

Тип float имеет точность 6-7 знаков, имеются ввиду все знаки, а не только мантисса. Обычно для увеличения точности используют другой тип - double, но на платформе Arduino, double и float имеют одинаковую точность.

Хранение в памяти чисел с плавающей точкой в двоичной системе обуславливает потерю точности. Так, например, 6.0 / 3.0 не обязательно равен 2.0. Сравнивая два числа с плавающей точкой следует проверять не точное равенство, а разницу между этими числами, меньше ли она некого выбранной малого порога.

Следует также учитывать, что арифметические операции над числами с плавающей запятой выполняются существенно медленнее, чем над целыми.

Пример

float myfloat;
float sensorCalbrate = 1.117;

Синтаксис

float var = val;
var - имя переменной
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)

См.также

Внешние ссылки