Arduino - Операторы
Оператор - это символ, который указывает компилятору выполнять определенные математические или логические функции. Язык C богат встроенными операторами и предоставляет следующие типы операторов:
- Арифметические операторы
- Операторы сравнения
- Булевы операторы
- Побитовые операторы
- Составные операторы
Арифметические операторы
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда -
Показать пример
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| оператор присваивания | знак равно | Сохраняет значение справа от знака равенства в переменной слева от знака равенства. | А = В |
| дополнение | + | Добавляет два операнда | A + B даст 30 |
| вычитание | - | Вычитает второй операнд из первого | A - B даст -10 |
| умножение | * | Умножьте оба операнда | A * B даст 200 |
| деление | / | Разделите числитель на знаменатель | Б / А даст 2 |
| по модулю | % | Оператор модуля и остаток после целочисленного деления | B% A даст 0 |
Операторы сравнения
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда -
Показать пример
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| равно | == | Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным. | (A == B) неверно |
| не равно | знак равно | Проверяет, равны ли значения двух операндов или нет, если значения не равны, условие становится истинным. | (A! = B) верно |
| меньше, чем | < | Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным. | (A <B) верно |
| больше чем | > | Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным. | (A> B) неверно |
| меньше или равно | <= | Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. | (A <= B) верно |
| больше или равно | > = | Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. | (A> = B) неверно |
Булевы операторы
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда -
Показать пример
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| а также | && | Вызывается логическим оператором И. Если оба операнда не равны нулю, тогда условие становится истинным. | (A && B) верно |
| или | || | Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, тогда условие становится истинным. | (A || B) верно |
| не | ! | Вызывается оператором логического НЕ. Используется для изменения логического состояния операнда на обратное. Если условие истинно, то оператор логического НЕ сделает ложным. | ! (A && B) ложно |
Побитовые операторы
Предположим, что переменная A содержит 60, а переменная B содержит 13, тогда -
Показать пример
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| а также | & | Двоичный оператор И копирует бит в результат, если он существует в обоих операндах. | (A и B) даст 12, что составляет 0000 1100 |
| или | | | Оператор двоичного ИЛИ копирует бит, если он существует в любом из операндов | (A | B) даст 61, что составляет 0011 1101 |
| xor | ^ | Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих. | (A ^ B) даст 49, что составляет 0011 0001 |
| не | ~ | Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов. | (~ A) даст -60, что составляет 1100 0011 |
| сдвиг влево | << | Оператор двоичного левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом. | << 2 даст 240, что составляет 1111 0000 |
| сдвиг вправо | >> | Оператор двоичного сдвига вправо. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом. | A >> 2 даст 15, что равно 0000 1111 |
Составные операторы
Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда -
Показать пример
| Имя оператора | Оператор простой | Описание | пример |
|---|---|---|---|
| приращение | ++ | Оператор увеличения, увеличивает целое значение на единицу | A ++ даст 11 |
| декремент | - | Оператор декремента, уменьшает целочисленное значение на единицу | A - даст 9 |
| сложное добавление | + = | Добавить оператор присваивания И. Он добавляет правый операнд к левому операнду и присваивает результат левому операнду | B + = A эквивалентно B = B + A |
| сложное вычитание | знак равно | Оператор вычитания И присваивания. Он вычитает правый операнд из левого операнда и присваивает результат левому операнду | B - = A эквивалентно B = B - A |
| сложное умножение | знак равно | Оператор умножения И присваивания. Он умножает правый операнд на левый операнд и присваивает результат левому операнду | B * = A эквивалентно B = B * A |
| сложное деление | знак равно | Оператор деления И присваивания. Он делит левый операнд на правый операнд и присваивает результат левому операнду | B / = A эквивалентно B = B / A |
| составной модуль | знак равно | Оператор модуля И присваивания. Он принимает модуль с использованием двух операндов и присваивает результат левому операнду | B% = A эквивалентно B = B% A |
| составное побитовое или | | = | побитовое включающее ИЛИ и оператор присваивания | A | = 2 совпадает с A = A | 2 |
| составное побитовое и | знак равно | Побитовый оператор присваивания И | A & = 2 совпадает с A = A & 2 |