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