Мой компилятор C дал предупреждение при использовании унарного минуса в значении unsigned
, поэтому я исправил предупреждение, выполнив вычитание из 0.Унарный минус эквивалентен бинону минус?
Теперь интересно, если текущий код эквивалентен исходному:
uint32_t a, b; // assume b is initialized and non-zero
a = -b % b; // old code
a = (0-b) % b; // current code
Мой вопрос: для одних и тех же значений b
оба линии доходности коды того же результата для a
?
@juanchopanza, не точный дубликат из-за возможного целостного продвижения. –