Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Операция (программирование)

Из Википедии — свободной энциклопедии

Опера́ция — конструкция в языках программирования, аналогичная по записи математическим операциям, то есть специальный способ записи некоторых действий.

Наиболее часто применяются арифметические, логические и строковые операции. В отличие от функций, операции часто являются базовыми элементами языка и обозначаются различными символами пунктуации, а не алфавитно-цифровыми; они имеют специальный инфиксный синтаксис и нестандартные правила передачи аргументов. Терминология, однако, несколько отличается от языка к языку.

Операция и инструкция

Английское слово operator, соответствующее термину «операция», иногда ошибочно переводят как «оператор». На самом деле (по историческим причинам) русский термин «оператор» обозначает то же, что и «инструкция», которой соответствует английское statement[1]. Путаница усугубилась тем, что в C присваивание и инкремент/декремент являются и операторами, и операциями.

Операция и функция

Фактически, операция — это та же функция, но записываемая особым образом. По этой причине логично иметь возможность определять операции для произвольных типов таким же образом, как и методы — чтобы можно было работать с ними точно так же, как и с элементарными типами. Эта возможность называется «перегрузка операций» и присутствует в большинстве языков 4—5 поколений. В таких языках транслятор фактически подставляет вместо выполнения операции вызов соответствующей ей функции.

Типы операций

Операции делятся по количеству принимаемых аргументов на:

  • унарные — один аргумент (отрицание, унарный минус);
  • бинарные — два аргумента (сложение, вычитание, умножение и т. д.);
  • тернарные — три аргумента («условие ? выражение1 : выражение2»).

Синтаксис операций

Поскольку операции аналогичны по записи алгебраическим выражениям, для них, как и для последних, существует 3 варианта синтаксиса:

Для бинарных и тернарных (с 3 операндами) операций в подавляющем большинстве случаев используют инфиксную нотацию — по той простой причине, что она принята в математике и наиболее привычна большинству людей. Для унарных операций инфиксной нотации не существует, и, как правило, используется префиксная.

Список типовых операций

Операции обычно переходят из языков в родственные — например, операции языка С присутствуют в языках C++, Java, JavaScript и многих других.

Знак Выполняемая операция Языки программирования
a = b или a := b присваивание практически все
Арифметические
a + b сложение аргументов практически все
a - b вычитание практически все
-a изменение знака практически все
a / b, a div b деление практически все
a % b, a mod b остаток от деления (деление по модулю) практически все
a++
a--
увеличение на 1 с присваиванием (инкремент)
уменьшение на 1 с присваиванием (декремент)
С, Java, PHP
a ^ b или a ^^ b или a ** b возведение в степень BASIC, Fortran, Ruby, Python, Haskell (все 3)
Логические
a & b, или a && b, или a and b конъюнкция (логическое умножение) практически все
a | b, или a || b, или a or b дизъюнкция (логическое сложение)
~a, или !a, или not a инверсия (логическое отрицание)
a = b или a == b

a <> b или a /= b или a != b

проверка на равенство

проверка на неравенство

a > b, a >= b

a < b, a <= b

больше, больше или равно

меньше, меньше или равно

a ? b : c тернарная условная операция (если условие a истинно, всё выражение равно b, иначе c) С, C++, Java, PHP
Строковые
a + b или a & b или a.b (PHP) или a..b (Lua) или a ++ b (Haskell) конкатенация (слияние) практически все
Битовые
a & b, a and b (Pascal, Kotlin), a /\ b (Prolog), a .&. b (Haskell) Побитовая конъюнкция C/C++, Java, C#, Ruby, Python, Pascal, Kotlin, Prolog, Haskell
a | b, a or b (Pascal, Kotlin), a \/ b (Prolog), a .|. (Haskell) Побитовая дизъюнкция
~a, not a (Pascal), inv a (Kotlin), \a (Prolog) Побитовое отрицание C/C++, Java, C#, Ruby, Python, Pascal, Kotlin, Prolog
a ^ b, xor (Pascal, Kotlin) Исключающее ИЛИ C/C++, Java, C#, Ruby, Python, Pascal, Kotlin
a << b, a shl b (Pascal, Kotlin)


a >> b, a shr b (Pascal, Kotlin)

Побитовый сдвиг влево


Побитовый сдвиг вправо

См. также

Примечания

  1. Перевод компьютерных терминов. Часть 1. Процессор. Дата обращения: 7 декабря 2010. Архивировано 23 сентября 2013 года.
Эта страница в последний раз была отредактирована 22 июня 2022 в 05:48.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).