凌云的博客

行胜于言

C语言左移运算符小记

分类:C| 发布时间:2022-02-07 14:59:00


结论

在 C/C++ 中,左移运算符右侧参数的数为负数或者大于等于左侧参数的位数时,其行为是未定义的。 比如:

uint32_t c = 1;
c << -1;
c << 32;
c << 33;

以上的三行操作都是未定义的。