我对处理位非常陌生,并且在编译时遇到了以下警告:
7: warning: left shift count >= width of type
我的第 7 行看起来像这样
unsigned long int x = 1 << 32;
long如果我的系统上的大小是 32 位,这将是有意义的。但是,sizeof(long)返回8并被CHAR_BIT定义为8建议 long 应该是 8x8 = 64 位长。
我在这里想念什么?是sizeof不CHAR_BIT准确的还是我误解了一些基本的东西?