![]() |
1
4
因此,在任何一种情况下,您都会得到至少取决于实现的结果,在左移位的情况下,更糟糕的是,可能取决于优化级别等等。严格一致性程序不能依赖于任何特定行为。 GCC says :
[*]符号扩展在这里意味着符号位-即
此外,GCC总是需要2的补码表示,所以如果您愿意 使用GCC,无论您针对哪种架构,这都是您会看到的行为。此外,将来有人可能会为您的代码使用另一个编译器,从而导致其他行为。
也许你想用无符号整数-
另一个需要注意的是,并非所有的班次都是允许的。 C11 6.5.7 p3 : 未定义 |
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |