Я прочитал немного в C-спецификации, что беззнаковые переменные (в частности, unsigned short int
) выполняют так называемую перестановку при переполнении целых чисел, хотя я не мог найти ничего в знаковых переменных, кроме того, что я оставил с неопределенным поведением.
Мой профессор сказал мне, что их значения также обернуты (возможно, он просто имел в виду gcc). Я думал, что биты просто обрезаются, а биты, которые я оставляю, дают мне какое-то странное значение!
Что такое обтекание и чем оно отличается от просто обрезания битов.