Что относится к арифметическим операциям
Что относится к арифметическим операциям
Во всех языках программирования под выражением подразумевается конструкция, составленная из констант, переменных, знаков операций, функций, скобок. Выражение определяет порядок вычисления некоторого значения. Если это числовое значение, то такое выражение называют арифметическим. Вот несколько примеров арифметических выражений, записанных по правилам языка Си:
Три первых выражения имеют традиционную форму для языков программирования высокого уровня, поэтому их смысл очевиден. Следующие четыре выражения специфичны для языка Си.
Опишем набор операций, используемых в Си, а также правила записи и вычисления выражений. Напомним, что операция, применяемая к одному операнду, называется унарной, а операция с двумя операндами — бинарной.
— вычитание или унарный минус;
+ сложение или унарный плюс;
++ унарная операция увеличения на единицу (инкремент);
Все операции, кроме деления по модулю, применимы к любым числовым типам данных. Операция % применима только к целым числам.
Если хотя бы один из операндов имеет вещественный тип, то и результат будет вещественным. Например, операции 5./3, 5./3., 5/3. дадут вещественный результат 1.6666.
Различие проявляется при использовании префиксной и постфиксной форм в выражениях. Проиллюстрируем это на примерах. Первый пример:
В результате выполнения переменные получат следующие значения: а = 4, b = 3, с= 6. Второй пример:
Результаты будут такими: а = 4, b = 3, с=12.
По убыванию старшинства арифметические операции расположены в следующем порядке:
Одинаковые по старшинству операции выполняются в порядке слева направо. Д ля изменения порядка выполнения операций в выражениях могут применяться круглые скобки.
>= больше или равно, равно,
Как уже говорилось раньше, в стандарте Си нет логического типа данных. Поэтому результатом операции отношения является целое число: если отношение истинно — то 1, если ложно — то 0.
Результатом второго и третьего отношений будет 0 — ложь; результат четвертого отношения равен 1 — истина; результат первого отношения зависит от значения переменной а.
! операция отрицания (НЕ),
&& конъюнкция, логическое умножение (И),
| | дизъюнкция, логическое сложение (ИЛИ).
Например, логическое выражение, соответствующее системе неравенств 0 x
Обратите внимание на то обстоятельство, что здесь не понадобились круглые скобки для выделения операций отношения. В Си операции отношения старше конъюнкции и дизъюнкции. По убыванию приоритета логические операции и операции отношения расположены в следующем порядке:
Помимо рассмотренных в Си имеются поразрядные логические операции. Эти операции выполняются над каждой парой соответствующих двоичных разрядов внутреннего представления операндов. Их еще называют битовыми логическими операциями. Знаки битовых логических операций:
& поразрядная конъюнкция (И),
| поразрядная дизъюнкция (ИЛИ),
^ поразрядное исключающее ИЛИ,
поразрядное отрицание (НЕ).
Битовые логические операции вместе с операциями поразрядного сдвига влево ( >) позволяют добраться до каждого бита внутреннего кода. Чаще всего такие действия приходится выполнять в системных программах.
Операция присваивания. Знак операции присваивания =. Следствием отмеченного факта является то, что присваивание, как любой другой знак операции, может несколько раз входить в выражение. Например:
Присваивание имеет самый низкий приоритет (ниже только у операции «запятая»). Кроме того, операция присваивания — правоассоциативная. Это значит, что несколько подряд расположенных присваиваний выполняются справа налево. Поэтому в приведенном выше выражении первой выполнится операция сложения, затем переменной с присвоится значение суммы, затем это значение присвоится переменной b и в конце — переменной а.
а+=2 эквивалентно а=а+2,
х-=а+ b эквивалентно х=х-(а+ b ),
р/=10 эквивалентно р=р/10,
m*=n эквивалентно m=m*n,
г%=5 эквивалентно г=г%5.
Заметим, что вместо выражения а=а+2 предпочтительнее писать в программе а+=2, поскольку второе выражение будет вычисляться быстрее.
Операция явного преобразования типа (операция «тип»). Применение этой операции имеет следующий формат:
Операндом могут быть константа, переменная, выражение. В результате значение операнда преобразуется к указанному типу. Примеры использования преобразования типа:
По поводу последнего выражения заметим, что приоритет операции «тип» выше деления (и других бинарных арифметических операций), поэтому сначала значение переменной х приведется к целому типу (отбросится дробная часть), а затем выполнится деление по модулю.
Следующий фрагмент программы иллюстрирует одну из практических ситуаций, в которой потребовалось использовать преобразование типа:
В результате переменная с получит значение 0,5. Без преобразования типа ее значение стало бы равно 0.
sizeof (тип) и sizeof (выражение)
Результатом операции является целое число, равное количеству байтов, которое занимает в памяти величина явно указанного типа или величина, полученная в результате вычисления выражения. Последняя определяется также по типу результата выражения. Хотя по форме записи это похоже на функцию, однако sizeof является именно операцией. Ее приоритет выше, чем у бинарных арифметических операций, логических операций и отношений. Примеры использования операции:
sizeof (int) результат — 2
sizeof (1) результат — 2
sizeof (0.1) результат — 8
sizeof (1L) результат — 4
sizeof (char) результат — 1
sizeof (‘ a’) результат — 2
Операция «запятая». Эта необычная операция используется для связывания нескольких выражений в одно. Несколько выражений, разделенных запятыми, вычисляются последовательно слева направо. В качестве результата такого совмещенного выражения принимается значение самого правого выражения. Например, если переменная х имеет тип int, то значение выражения (х=3, 5*х) будет равно 15, а переменная х примет значение 3.
Данная операция реализует алгоритмическую структуру ветвления. Алгоритм ее выполнения следующий: первым вычисляется значение выражения 1, которое обычно представляет собой некоторое условие. Если оно истинно, т.е. не равно 0, то вычисляется выражение 2 и полученный результат становится результатом операции. В противном случае в качестве результата берется значение выражения 3.
Пример 1. Вычисление абсолютной величины переменной X можно организовать с помощью одной операции:
Пример 2. Выбор большего значения из двух переменных аи Ь:
Пример 3. Заменить большее значение из двух переменных аи b на единицу:
Правила языка в данном случае позволяют ставить условную операцию слева от знака присваивания.
Операции ( ) и [ ]. В языке Си круглые и квадратные скобки рассматриваются как операции, причем эти операции имеют наивысший приоритет. Их смысл будет раскрыт позже.
Подведем итог всему разговору об операциях Си/Си++, сведя их в общую табл. 2 и расположив по рангам. Ранг операции — это порядковый помер в ряду приоритетов. Чем больше ранг, тем ниже приоритет. В таблице отражено еще одно свойство операций — ассоциативность. Если одна и та же операция, повторяющаяся в выражении несколько раз, выполняется в порядке расположения слева направо, то она называется левоассоциа-тивной; если выполняется справа налево, то операция правоассоциативная. В таблице эти свойства отображены стрелками влево и вправо. Некоторые операции, присутствующие в таблице, пока не обсуждались.
Арифметика. Арифметические действия
Содержание
Арифметика. Арифметические действия |
Обратные арифметические действия |
Свойства арифметических действий |
Порядок выполнения арифметических действий |
Умножение натуральных чисел на 10, 100, 1000; и т.д. |
Арифметика. Арифметические действия
Арифметическим действием называют операцию, удовлетворяющую ряду свойств и позволяющую по нескольким данным числам найти новое число.
Арифметикой называют науку, изучающую простейшие свойства чисел и арифметических действий.
Существуют шесть арифметических действий: сложение, вычитание, умножение, деление, возведение в степень, извлечение корня.
Обратные арифметические действия
Вычитание – это арифметическое действие, обратное к сложению, деление – действие, обратное к умножению, извлечение корня – действие, обратное к возведению в степень.
Свойства арифметических действий
Порядок выполнения арифметических действий
Сложение и вычитание называют действиями первой ступени, умножение и деление – действиями второй ступени, возведение в степень и извлечение корня – действиями третьей ступени.
Действия одной ступени выполняются в том же порядке, в каком они записаны в формуле.
Если в формуле содержатся действия разных ступеней, то сначала выполняют действия высших ступеней, а затем низших ступеней.
Если формула содержит скобки, то сначала выполняют действия в скобках. Скобки бывают круглыми, квадратными и фигурными, причем между ними нет никакой разницы.
Если скобки содержат другие скобки, то сначала выполняют действия во «внутренних» скобках.
Умножение натуральных чисел на 10, 100, 1000 и т.д.
Действительно, например, число 3610 состоит из трёх тысяч, шести сотен и одного десятка, поэтому
Арифметическая операция
Смотреть что такое «Арифметическая операция» в других словарях:
арифметическая операция — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN arithmetical operation … Справочник технического переводчика
арифметическая операция — aritmetinė operacija statusas T sritis automatika atitikmenys: angl. arithmetic operation vok. arithmetische Operation, f; Rechenoperation, f rus. арифметическая операция, f pranc. opération arithmétique, f … Automatikos terminų žodynas
арифметическая операция — aritmetikos operacija statusas T sritis fizika atitikmenys: angl. arithmetic operation vok. arithmetische Operation, f rus. арифметическая операция, f pranc. opération arithmétique, f … Fizikos terminų žodynas
арифметическая операция — Операция машины, включающая (в качестве основной) операцию, в которой операнды воспринимаются как числа и результат которой является также числом … Политехнический терминологический толковый словарь
Деление по модулю — Операция деления по модулю в различных языках программирования Язык Оператор Знак результата Делимое Ada mod Частное rem Делимое ASP Mod Не определено C (ISO 1990) % Не определено C (ISO 1999) … Википедия
Деление с остастком — Операция деления по модулю в различных языках программирования Язык Оператор Знак результата Делимое Ada mod Частное rem Делимое ASP Mod Не определено C (ISO 1990) % Не определено C (ISO 1999) … Википедия
Деление с остатком — Деление c остатком (деление по модулю, нахождение остатка от деления, остаток от деления) арифметическая операция, результатом которой является два целых числа: неполное частное и остаток от деления целого числа на другое целое число.… … Википедия
СЛОЖЕНИЕ — СЛОЖЕНИЕ, арифметическая операция, обозначаемая знаком + (плюс). Ее называют ДВОИЧНОЙ ОПЕРАЦИЕЙ, поскольку для того, чтобы операция имела смысл, необходимы по меньшей мере два числа (или элемента) … Научно-технический энциклопедический словарь
Операции в языке Си
Над объектами в языке Си могут выполняться различные операции:
Результатом выполнения операции является число.
Операции могут быть бинарными или унарными.
Бинарные операции выполняются над двумя объектами, унарные — над одним.
Операция присваивания
Операция присваивания обозначается символом = и выполняется в 2 этапа:
объект = выражение;
В случае если объекты в левой и правой части операции присваивания имеют разные типы используется операция явного приведения типа.
объект = (тип)выражение;
Операции отношения
Основные операции отношения:
Арифметические операции
Основные бинарные операции, расположенные в порядке уменьшения приоритета:
Основные унарные операции:
Результат вычисления выражения, содержащего операции инкрементирования или декрементирования, зависит от того, где расположен знак операции (до объекта или после него). Если операция расположена до объекта, то сначала происходит изменение значения переменной на 1, а потом это значение используется для выполнения следующих операций. Если операция ++ или — расположена после переменной, то сначала выполняется операция, а потом значение переменной изменяется на 1.
Бинарные арифметические операции могут быть объединены с операцией присваивания:
Логические операции
Логические операции делятся на две группы:
Условные логические операции чаще всего используются в операциях проверки условия if и могут выполняться над любыми объектами. Результат условной логической операции:
Вообще, все значения, отличные от нуля, интерпретируются условными логическими операциями как истинные.
Основные условные логические операции:
Побитовые логические операции оперируют с битами, каждый из которых может принимать только два значения: 0 или 1.
Основные побитовые логические операции в языке Си:
Для каждого бита результат выполнения операции будет получен в соответствии с таблицей.
a
a; // e = 241 = 1111 0001
f = a ^ b; // f = 7 = 0000 0111
| Бит | Маска |
| 0 | 0x01 |
| 1 | 0x02 |
| 2 | 0x04 |
| 3 | 0x08 |
| 4 | 0x10 |
| 5 | 0x20 |
| 6 | 0x40 |
| 7 | 0x80 |
Для установки определенного бита необходимо соответствующий бит маски установить в 1 и произвести операцию побитового логического ИЛИ с константой, представляющей собой маску:
Для сброса определенного бита необходимо соответствующий бит маски сбросить в 0 и произвести операцию побитового логического И с константой, представляющей собой инверсную маску:
0x02); // a = 1, бит 1 сброшен
Бинарные побитовые логические операции могут быть объединены с операцией присваивания:
Сдвиговые операции
Операции арифметического сдвига применяются в целочисленной арифметике и обозначаются как:
Общий синтаксис осуществления операции сдвига:
объект = выражение сдвиг КоличествоРазрядов;
Арифметический сдвиг целого числа вправо >> на 1 разряд соответствует делению числа на 2.
Арифметический сдвиг целого числа влево на 1 разряд соответствует умножению числа на 2.
Что относится к арифметическим операциям
| Оператор | Операнд 1 | Операнд 2 | Результат |
|---|---|---|---|
| not | False | — | True |
| True | — | False | |
| and | False | False | False |
| False | True | False | |
| True | False | False | |
| True | True | True | |
| or | False | False | False |
| False | True | True | |
| True | False | True | |
| True | True | True | |
| xor | False | False | False |
| False | True | True | |
| True | False | True | |
| True | True | False |
a shl k — сдвиг значения а на k битов влево (это эквивалентно умножению значения переменной а на 2 k ). Результат операции будет иметь тот же тип, что и первый её операнд (а).
a shr k — сдвиг значения а на k битов вправо (это эквивалентно делению значения переменной а на 2 k нацело). Результат операции будет иметь тот же тип, что и первый её операнд (а).
Другие операции
Помимо арифметических, существуют и другие операции, специфичные для значений некоторых стандартных типов данных языка Pascal. Эти операции мы рассмотрим в соответствующих разделах:
Стандартные арифметические функции
| Описание | Тип аргумента | Тип результата 1 | |
|---|---|---|---|
| Abs (x) | Абсолютное значение (модуль) числа | Арифметический | Совпадает с типом аргумента |
| ArcTan (x) | Арктангенс (в радианах) | Арифметический | Вещественный |
| Cos (x) | Косинус (в радианах) | Арифметический | Вещественный |
| Exp (x) | Экспонента (e x ) | Арифметический | Вещественный |
| Frac (x) | Взятие дробной части числа | Арифметический | Вещественный |
| Int (x) | Взятие целой части числа | Арифметический | Вещественный |
| Ln (x) | Натуральный логарифм (по основанию e) | Арифметический | Вещественный |
| Odd (x) | Проверка нечётности числа | Целый | Boolean |
| Pi | Значение числа π | — | Вещественный |
| Round (x) | Округление к ближайшему целому | Арифметический | Целый |
| Trunc (x) | Округление «вниз» — к ближайшему меньшему целому | Арифметический | Целый |
| Sin (x) | Синус (в радианах) | Арифметический | Вещественный |
| Sqr (x) | Возведение в квадрат | Арифметический | Совпадает с типом аргумента |
| Sqrt (x) | Извлечение квадратного корня | Арифметический | Вещественный |
Арифметические выражения
Все арифметические операции можно сочетать друг с другом — конечно, с учётом допустимых для их операндов типов данных.
(x and (y > 0) — выражение, результат которого принадлежит к типу Boolean ;
z shl Abs (k) — вторым операндом является вызов стандартной функции;
(x mod k) + Min(a,b) + Trunc (z) — сочетание арифметических операций и вызовов функций;
Odd ( Round (x / Abs (x))) — «многоэтажное» выражение.
Полнота вычислений
В общем случае вычисление сложного логического выражения прекращается в тот момент, когда его окончательное значение становится понятным (например, True or (b принудит компилятор завершить эти вычисления даже в таком случае. Её выключение вернёт обычную схему вычислений.
Порядок вычислений
Замечание: Вызов любой функции имеет более высокий приоритет, чем все внешние относительно этого вызова операции. Выражения, являющиеся аргументами вызываемой функции, вычисляются в момент вызова (см. лекцию 8 ).
Примеры выражений (с указанием последовательности вычислений) для целых чисел:
Арифметика. Арифметические действия
