* (multiplication)
Оператор * умножает два операнда и возвращает их произведение — удобен для масштабирования, пересчёта единиц и геометрических вычислений.
Полная статья
Описание
Оператор * — это стандартное умножение: он принимает два операнда и возвращает их произведение. Используется во всех ситуациях, где нужно масштабировать значение, пересчитать единицы измерения или вычислить площадь, мощность, скорость и т. д.
Синтаксис
product = operand1 * operand2;
Параметры
product: переменная, в которую записывается результат. Допустимые типы данных:int,float,double,byte,short,long.operand1: первый множитель — переменная или константа. Допустимые типы данных:int,float,double,byte,short,long.operand2: второй множитель — переменная или константа. Допустимые типы данных:int,float,double,byte,short,long.
Пример кода
int a = 5;
int b = 10;
int c = 0;
c = a * b; // переменная 'c' получает значение 50 после выполнения этого оператора
Где применяется
- Масштабирование показаний сенсора — например, перевод «сырого» значения АЦП в реальные единицы (вольты, граммы, сантиметры).
- Управление яркостью или скоростью — умножение базового значения на коэффициент для плавной регулировки.
- Геометрические расчёты — вычисление площади, объёма или длины пути по формулам с несколькими переменными.
- Временны́е интервалы — пересчёт секунд в миллисекунды или минут в секунды перед передачей в
delay()илиmillis().
Практические замечания
- Переполнение типа. Если произведение выходит за пределы диапазона типа данных переменной
product, результат «обернётся» и станет некорректным. Для больших чисел используйтеlongилиfloatвместоint. - Автоматический переход к float. Если хотя бы один из операндов имеет тип
floatилиdouble, всё выражение вычисляется в режиме плавающей запятой — это удобно для точных расчётов, но немного медленнее на платах без аппаратного FPU. - Потеря дробной части. Если оба операнда
float/double, аproductобъявлен как целочисленный тип (int,longи т. д.), дробная часть результата молча отбрасывается. Явное приведение типов поможет сделать намерение очевидным и избежать путаницы. - Порядок вычислений. Умножение имеет более высокий приоритет, чем сложение и вычитание, но одинаковый с делением. Используйте скобки, если выражение сложное, — это делает код понятнее и предотвращает ошибки.
- Отладка через Serial Monitor. Если результат кажется неверным, выведите оба операнда и произведение отдельно: так сразу видно, на каком шаге происходит переполнение или потеря точности.
float a = 5.5;
float b = 6.6;
int c = 0;
c = a * b; // переменная 'c' хранит значение 36, а не ожидаемый результат 36.3