Инкремент

(перенаправлено с «Декремент»)

Инкреме́нт, инкрементирование (от англ. increment «увеличение») — операция во многих языках программирования, увеличивающая значение переменной. Обратную операцию называют декремент (уменьшение). Чаще всего унарная операция приводит значение переменной к следующему элементу базового типа (то есть для целых чисел — увеличивает на 1, для символьного типа даёт следующий символ в некоторой таблице символов и т. п.)

Использование в языках программирования

править

Инкремент часто используется в языках программирования (равно как и в машинном языке большинства микропроцессоров), например, при организации цикла, где какая-то величина в каждом новом шаге цикла становится больше на единицу.

Для примера возьмём язык программирования JavaScript:

x++

Соответствующий ему декремент выглядит так:

x--

Оператор инкрементирования можно записывать с обеих сторон («префиксный инкремент» ++x и «постфиксный инкремент» x++). От этого зависит результат операции, но не его побочного действия. Так:

let y = ++x

можно записать, как

 x = x + 1
 let y = x

В то время, как

let y = x++

эквивалентно

 let y = x
 x = x + 1

«префиксный декремент» --x и «постфиксный декремент» x-- действуют аналогично на переменную x, уменьшая её.

Использование в наименованиях

править

Обозначение оператора унарного постфиксного инкремента используется в названии языка программирования C++, как указание на его усовершенствование относительно своего предшественника (язык С)

Аналогичным образом назван текстовый редактор Notepad++, отсылающий к не связанной с ним программе Notepad.

В Agile используется технология PI-планирования (Program Increment Planing, планирование инкремента программы) которое распределяет значимость и порядок выполнения поставленных задач между командами. Основная цель скоординировать команды друг с другом и упорядочить выполнение задач[1].

Выполнение операции

править

Поскольку операция инкремента (как и декремента) используется очень часто, арифметическое устройство процессора может выполнять её на аппаратном уровне, для чего имеется отдельная низкоуровневая команда. Поэтому инкремент выполняется быстрее, чем если бы производилось прибавление единицы к числу обычным способом. Поэтому для компиляторов языка Си, которые плохо оптимизируют исходный код программы, запись ++x предпочтительнее, чем x = x + 1 или x += 1 , хотя большинство современных компиляторов языка Си уже без проблем сами заменяют арифметические выражения x = x + 1 или x += 1 на низкоуровневый инкремент на этапе оптимизации и компиляции.

См. также

править

Примечания

править
  1. Совместное планирование #4 — Блог ScrumTrek. Дата обращения: 23 октября 2018. Архивировано 23 октября 2018 года.