История изменений
Исправление red75prim, (текущая версия) :
Преобразование в более узкий тип определено как truncation. В более широкий как zero- или sign-extend в зависимости от знаковости типа. Сложение и умножение знаковых чисел в релизной сборке определено как two’s complement, беззнаковых как аримфметика по модулю.
Никаких UB там нет.
Если нужно UB, то придётся использовать nightly и std::intrinsics::unchecked_add()
.
Исправление red75prim, :
Преобразование в более узкий тип определено как truncation. В более широкий как zero- или sign-extend в зависимости от знаковости типа. Сложение и умножение знаковых чисел в релизной сборке определено как two’s complement, беззнаковых как аримфметика по модулю.
Никаких UB там нет.
Исходная версия red75prim, :
Преобразование в более узкий тип определено как truncation. В более широкий как zero- или sign-extend в зависимости от знака. Сложение и умножение знаковых чисел в релизной сборке определено как two’s complement, беззнаковых как аримфметика по модулю.
Никаких UB там нет.