相关疑难解决方法(0)

GCC左移溢出

在Mac上使用GCC版本4.2.1(Apple Inc. build 5664)时,以下小程序非常笨拙.

#include <stdio.h>

int main(){
        int x = 1 << 32;
        int y = 32;
        int z = 1 << y;
        printf("x:%d, z: %d\n", x, z);
}
Run Code Online (Sandbox Code Playgroud)

结果是x:0, z: 1.
知道为什么x和z的值不同吗?
非常感谢.

c macos gcc

21
推荐指数
3
解决办法
1万
查看次数

标签 统计

c ×1

gcc ×1

macos ×1