Сравнение (программирование)


Сравне́ние в программировании — общее название ряда операций над па́рами значений одного типа, либо с приведением типа, реализующих математические отношения равенства и порядка. В языках высокого уровня такие операции, чаще всего, возвращают булево значение («истина» или «ложь»).

По-разному рассматривается сравнение скалярных (числовых) объектов, указателей и объектов сложных типов данных.

При сравнении объектов скалярных (числовых) типов данных сравниваются непосредственно сами хранимые числовые значения. Сами числовые значения, при этом, остаются неизменными.

В языках низкого уровня скалярные объекты записываются в регистры процессора, а для их сравнения используется, обычно, команда CMP, которая определённым образом устанавливает флаги процессора.

В языках высокого уровня используются логические операторы, которые возвращают (в точку вызова) некоторое значение, которое интерпретируется как логическое.

В языках со слабой типизацией возвращаемое значение, обычно, является целым числом так, что нулевое значение интерпретируется как «ложь», а любое отличное от нуля значение — как «истина». В языках с более сильной типизацией вводится специальный логический тип данных (англ. boolean), но возможно приведение других типов к логическому.