В математике операнд — это объект математической операции , то есть объект или величина, над которой производится операция. [1]
Следующее арифметическое выражение показывает пример операторов и операндов:
В приведенном выше примере «+» — это символ операции, называемой сложением .
Операнд «3» — это один из входов (величин), за которым следует оператор сложения , а операнд «6» — это другой вход, необходимый для операции.
Результатом операции является 9. (Число «9» также называется суммой слагаемого 3 и слагаемого 6.)
Операнд, таким образом, также называют «одним из входов (величин) для операции».
Операнды могут быть вложенными и могут состоять из выражений, также состоящих из операторов с операндами.
В приведенном выше выражении '(3 + 5)' является первым операндом для оператора умножения, а '2' - вторым. Операнд '(3 + 5)' сам по себе является выражением, содержащим оператор сложения с операндами '3' и '5'.
Правила приоритета влияют на то, какие значения формируют операнды для каких операторов: [2]
В приведенном выше выражении оператор умножения имеет более высокий приоритет, чем оператор сложения, поэтому оператор умножения имеет операнды '5' и '2'. Оператор сложения имеет операнды '3' и '5 × 2'.
В зависимости от используемой математической нотации положение оператора по отношению к его операнду(ам) может меняться. В повседневном использовании инфиксная нотация является наиболее распространенной, [3] однако существуют и другие нотации, такие как префиксная и постфиксная нотации. Эти альтернативные нотации наиболее распространены в компьютерной науке .
Ниже приведено сравнение трех различных обозначений — все они представляют собой сложение цифр «1» и «2».
В математическом выражении порядок выполнения операций осуществляется слева направо. Начните с самого левого значения и найдите первую операцию, которая должна быть выполнена в соответствии с порядком, указанным выше (т.е. начните со скобок и закончите группой сложения/вычитания). Например, в выражении
первая операция, над которой нужно поработать, — это любые и все выражения, находящиеся внутри скобок. Поэтому, начиная слева и двигаясь вправо, найдите первую (и в этом случае единственную) скобку, то есть (2 + 2 2 ). Внутри самих скобок находится выражение 2 2 . Читателю необходимо найти значение 2 2 , прежде чем двигаться дальше. Значение 2 2 равно 4. После нахождения этого значения оставшееся выражение выглядит следующим образом:
Следующим шагом будет вычисление значения выражения внутри самих скобок, то есть (2 + 4) = 6. Теперь наше выражение выглядит так:
Вычислив скобочную часть выражения, мы начинаем снова, начиная с самого левого значения и двигаясь вправо. Следующий порядок действий (согласно правилам) — это экспоненты. Начните с самого левого значения, то есть 4, и просмотрите глазами направо и найдите первую попавшуюся экспоненту. Первое (и единственное) выражение, которое мы встречаем, выраженное экспонентой, — это 2 2 . Мы находим значение 2 2 , которое равно 4. То, что у нас осталось, — это выражение
Следующий порядок действий — умножение. 4 × 4 равно 16. Теперь наше выражение выглядит так:
Следующий порядок операций по правилам — деление. Однако в выражении 16 − 6 нет знака оператора деления (÷). Поэтому переходим к следующему порядку операций, т. е. сложению и вычитанию, которые имеют одинаковый приоритет и выполняются слева направо.
Таким образом, правильное значение нашего исходного выражения 4 × 2 2 − (2 + 2 2 ) равно 10.
Важно выполнять порядок операций в соответствии с правилами, установленными соглашением. Если считыватель оценивает выражение, но не следует правильному порядку операций, считыватель выдаст другое значение. Другое значение будет неправильным значением, поскольку порядок операций не был соблюден. Читатель придет к правильному значению для выражения, если и только если каждая операция будет выполнена в правильном порядке.
Число операндов оператора называется его арностью . [4] В зависимости от арности операторы в основном классифицируются как нулевые (без операндов), унарные (1 операнд), бинарные (2 операнда), тернарные (3 операнда). Более высокие арности реже обозначаются через специальные термины, тем более, когда можно использовать композицию функций или каррирование , чтобы избежать их. Другие термины включают:
В языках программирования определения оператора и операнда почти такие же, как в математике.
В вычислительной технике операнд — это часть компьютерной инструкции, которая определяет, какие данные должны быть обработаны или с какими данными необходимо работать, и в то же время представляет сами данные. [5] Компьютерная инструкция описывает операцию, например, сложение или умножение X, в то время как операнд (или операнды, поскольку их может быть больше одного) определяет, с каким X следует работать, а также значение X.
Кроме того, в языке ассемблера операнд — это значение (аргумент), с которым работает инструкция , названная мнемоникой . Операндом может быть регистр процессора , адрес памяти , литеральная константа или метка. Простой пример (в архитектуре x86 ) —
ДВИЖЕНИЕ DS , AX
где значение в регистре операнда AX
должно быть перемещено ( MOV
) в регистр DS
. В зависимости от инструкции может быть ноль, один, два или более операндов.