Я слышал, что переход в знаковый бит целого числа, т. Е.
int test = INT_MAX;
test = (test<<1) + 1;
, является неопределенным поведением из-за того, что тест больше INT_MAX.Но будет ли такое поведение встречаться в коротких знаковых переменных, то есть
short test1 = SHRT_MAX;
test1 = (test1<<1) + 1;
?
В настоящий момент я не сталкивался с какой-либо соответствующей документацией.
РЕДАКТИРОВАТЬ: Я знаю, что неопределенное поведение приведет к целым числам, но не к кратким.