Операции с битами информации
Операции not, and, or, xor можно использовать для побитовых операций с целыми числами, при этом тип результата определяется наименьшим типом операндов (имеющим наименьший размер). В применении к целым числам эти oneрации имеют следующий смысл:
not - унарная операция инверсии всех битов целого числа;
and - побитовая логическая операция И двух целых чисел;
or - побитовая логическая операция ИЛИ двух целых чисел;
хоr - побитовая логическая операция ИСКЛЮЧАЮЩЕЕ ИЛИ двух целых чисел.
К этой же группе можно отнести операции shl и shr, имеющие следующий смысл:
shl - операция I shl J сдвигает содержимое I на J битов влево. Освободившиеся биты заполняются нулями.
shr - операция I shr J сдвигает содержимое I на J битов вправо. Освободившиеся биты заполняются нулями.
Операции отношения
Операции отношения предназначены для сравнения двух величин (величины должны быть сравнимых типов). Результат сравнения имеет логический тип. Операции отношения следующие:
= - равно;` <= - меньше или равно;
<> - не равно; >= - больше или равно;
< - меньше; > - больше.
Примечание. Операции отношения используются также для указателей, строк, множеств. Их применение в этих случаях будет рассмотрено ниже.
Круглые скобки.
Круглые скобки используются для заключения в них части выражения, значения которой необходимо выполнить в первую очередь. В выражении может быть любое количество круглых скобок, причем количество открывающих круглых скобок должно быть равно количеству закрывающих круглых скобок. Части выражений, заключенные в круглые скобки, должны быть либо непересекающимися, либо вложенными друг в друга.
Порядок вычисления выражений
Вычисление значений выражений выполняется в определенном порядке. Начинается вычисление с определения переменных и констант, входящих в выражение. Они являются основой для дальнейших вычислений. Дальнейшие действия выполняются в соответствии с их приоритетами. Так, в первую очередь вычисляются выражения, заключенные в круглые скобки. Для любых двух вложенных друг в друга пар круглых скобок вычисляется сначала внутреннее выражение, а затем внешнее. Далее вычисляются значения входящих в выражение функций и т.д. Приоритеты всех действий, выполняемых при вычислении выражений, приведены в таблице 17.5.
Таблица 17.5 Приоритеты действий при вычислении выражений
Группа | Тип действий | Операции или элементы |
Вычисления в круглых скобках | ( ) | |
Вычисления значений функций | Функции | |
Унарные операции | @, not, унарный +, унарный - | |
Операции типа умножения | *, /, div, mod, and, shl, shr | |
Операции типа сложения | +, -, or, xor | |
Операции отношения | =, <>, <, >, <=, >=, in |
Следует иметь в виду, что в пределах одного и того же приоритета действия не обязательно выполняются слева направо. В целях оптимизации программы компилятор может нарушить этот порядок вычисления. Исключение составляют укороченные логические вычисления логических выражений, где вычисления всегда выполняются слева направо.
17.2 Основные конструкции языка C
Константы
Константы в C бывают числовые, символьные и строковые. Числовые константы делятся на целочисленные и вещественные.
Дата добавления: 2021-03-18; просмотров: 310;