我很擅长处理比特,并且在编译时遇到以下警告:
Run Code Online (Sandbox Code Playgroud)7: warning: left shift count >= width of type
我的第7行看起来像这样
unsigned long int x = 1 << 32;
Run Code Online (Sandbox Code Playgroud)
如果long我的系统的大小是32位,这将是有意义的.但是,sizeof(long)返回8并CHAR_BIT定义为8建议long应为8x8 = 64位长.
我在这里错过了什么?是sizeof和CHAR_BIT不准确还是我误解了一些基本的东西?