Унарный оператор отрицания: -
- cast-expression
Заметки
Оператор унарного отрицания (–) изменяет знак операнда. Операнд оператора унарного отрицания должен быть арифметическим типом.
Над целочисленными операндами выполняется восходящее приведение целого типа, и результирующим типом является тип, до которого повышается уровень операнда. Дополнительные сведения о том, как выполняется такое повышение, см. в разделе Восходящее приведение целочисленных типов.
Блок, относящийся только к системам Microsoft
Унарное отрицание величин без знака выполняется путем вычитания значения операнда из числа 2^n, где n — количество битов в объекте заданного типа без знака. (Microsoft C++ работает на процессорах, использующих арифметику кодов с дополнением до двух. На других процессорах алгоритм отрицания может быть другим.)