Операция сложения: +
Выполнение операции + приводит к сложению двух величин, стоящих слева и справа от этого знака. Например, в результате работы оператора
printf("%d", 100 + 65);
на печать будет выведено число 165, а не выражение 100+65. Операнды могут быть как переменными, так и константами. Операция + называется "бинарной", или "диадической". Эти названия отражают тот факт, что она имеет дело с двумя операндами.
Операция вычитания: -
Выполнение операции вычитания приводит к вычитанию числа, расположенного справа от знака -, из числа, стоящего слева от этого знака. Оператор
n = 163.00 - 100.00;
присваивает переменной n значение 63.00.
Операция изменения знака: -
Знак минус используется для указания или изменения алгебраического знака некоторой величины. Например, в результате выполнения последовательности операторов
teg = -15;
get = -teg;
переменной get будет присвоено значение 15. Когда знак используется подобным образом, данная операция называется "унарной". Такое название указывает на то, что она имеет дело только с одним операндом.
Операция умножения: *
Операция умножения обозначается знаком *. При выполнении оператора
z = 3 * x
значение переменной x умножается на 3, и результат присваивается переменной z.
Операция деления: /
В языке Си символ / указывает на операцию деления. Величина, стоящая слева от этого знака, делится на величину, расположенную справа от этого знака. Например, в результате выполнения оператора
l = 126.0 / 2.0;
переменной l будет присвоено значение 63.0. Над данными целого типа операция деления производится не так, как над данными с плавающей точкой: в первом случае результат будет целым числом, а во втором - числом с плавающей точкой. В языке Си принято правило, согласно которому дробная часть у результата деления целых чисел отбрасывается. Это действие называется "усечением".
Рассмотрим пример, как выполняется усечение и чем деление целых чисел отличается от деления чисел с плавающей точкой:
int main()
{
setlocale(LC_CTYPE, "Russian");
printf("деление целых: 5/4 это %d \n", 5 / 4);
printf("деление целых: 6/3 это %d \n", 6 / 3);
printf("деление целых: 7/4 это %d \n", 7 / 4);
printf("деление чисел с плавающей точкой: 7/4 это %2.2f \n", 7. / 4.);
printf("смешанное деление: 7./4 это %2.2f \n", 7. / 4);
}
49.Основные операции. Поразрядные операции. Поразрядное И (AND). Поразрядное ИЛИ (OR). Поразрядное исключающее ИЛИ (OR).
В С++ существуют три поразрядные логические операции:
- поразрядное И, обозначение: &
- поразрядное исключающее ИЛИ, обозначение: ^
- поразрядное включающее ИЛИ, обозначение: |
Так же в С++ существуют логические операции: ИЛИ — ||; И — &&. У многих возникает вопрос, “Чем отличаются операции: & и &&; | и || ?”. Ответ на этот вопрос можно получить, если понять принцип работы поразрядных логических операций. Сразу могу сказать одно, что логические операции && и || используются только для построения логических условий. Тогда как поразрядные логические операции применяются в бинарной арифметике. Данные операции работают с битами ячеек памяти, причём операнды и результат могут быть заданы в другой форме, например, в десятичной. Дальше рассмотрим каждую из операций подробно.
Поразрядная логическая операция И .
Обозначения: X, Y – операнды; F – результат выполнения логической операции
Из таблицы истинности видно, что результат будет нулевым, если хотя бы один из битов 0. Если оба бита равны 1, то результат равен 1.
Пример с числами:
Для упрощения вычислений возьмем четырёхразрядные(4-х разрядный двоичный код) положительные операнды. Сначала переводим числа в двоичный код, а потом выполняем операцию.
Поразрядное исключающее ИЛИ .
Из таблицы истинности видно, что результат будет нулевым, если оба бита будут равны, во всех остальных случаях результат равен 1.
Пример с числами:
Поразрядное включающее ИЛИ .
Из таблицы истинности видно, что результат будет нулевым, если оба бита будут равны 0, во всех остальных случаях результат равен 1.
Пример с числами:
50. Основные операции. Поразрядный сдвиг влево и вправо. Операции отношения и логические операции. Условная операция (?:). Операция запятая (,). Порядок выполнения операций.