Arithmetic

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Сложение, Вычитание, Умножение и Деление

Описание

Эти четыре оператора возвращают сумму, разность, произведение и частное (соответственно) двух операндов. Тип данных результата операции совпадает с типом данных операндов, поэтому, например, 9 / 4 даст в итоге 2, поскольку 9 и 4 - константы целочисленного типа. Это также означает, что результат операции может вызвать переполнение, если выходит за пределы диапазона значений данного типа (т.е. добавление 1 к значению типа int со значением 32,767 даст -32,768). Если операнды имеют разные типы, для вычислений используется "больший" из типов.

Если одно из чисел (операндов) имеет тип float или double, производятся вычисления с учетом дробной части (библиотека с плавающей точкой).

Примеры


y = y + 3;
x = x - 7;
i = j * 6;
r = r / 5;

Синтаксис


result = value1 + value2;
result = value1 - value2;
result = value1 * value2;
result = value1 / value2;

Параметры

value1: любая переменная или константа

value2: любая переменная или константа

Советы по программированию

  • Учитывайте, что целочисленные константы могут вызывать переполнение (т.е. 60*1000 может дать отрицательный результат);
  • Выбирайте размер переменных, достаточный для хранения самого большого результата вычислений;
  • Следите за значением вашей переменной и ситуацией, когда она переходит как максимальное, так и минимальное значение, (0 - 1) или (0 - - 32768);
  • Используйте арифметику с плавающей точкой при необходимости, но помните, что она имеет свои недостатки - увеличение размера программы, уменьшение скорости вычислений;
  • Используйте оператор приведения типа - т.е. (int)myFloat для преобразования переменной одного типа в другой "на лету".

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.