Следующая небольшая программа очень неудобна с использованием GCC версии 4.2.1 (Apple Inc. build 5664) на Mac.
#include <stdio.h>
int main(){
int x = 1 << 32;
int y = 32;
int z = 1 << y;
printf("x:%d, z: %d\n", x, z);
}
Результат x:0, z: 1
.
Любая идея, почему значения x и z различны?
Большое спасибо.