История изменений
Исправление I-Love-Microsoft, (текущая версия) :
Вот «просто насыпьте скобок побольше», чтобы убрать UB. Слабо?
Запросто:
int p = 20, n = 12;
n = n * ((p - 1) << (1 + (p - 1) / 10));
p++;
>>> p = 20
>>> n = 12
>>> n = n * ((p - 1) << (1 + int((p - 1) / 10)))
>>> n
912
Даже пихтон скушает нормально обскобоченный код :)
Исправление I-Love-Microsoft, :
Вот «просто насыпьте скобок побольше», чтобы убрать UB. Слабо?
Запросто:
int p = 20, n = 12;
n = n * ((p - 1) << (1 + (p - 1) / 10));
p++;
>>> p = 20
>>> n = 12
>>> n = n * ((p - 1) << (1 + int((p - 1) / 10)))
>>> n
912
Исходная версия I-Love-Microsoft, :
Вот «просто насыпьте скобок побольше», чтобы убрать UB. Слабо?
Запросто:
int p = 20, n = 12;
n = n * ((p - 1) << (1 + (p - 1) / 10));
p++;