私はビットの扱いに非常に慣れておらず、コンパイル時に次の警告に固執しています。
7: warning: left shift count >= width of type
私の7行目は次のようになります
unsigned long int x = 1 << 32;
longこれは、私のシステムのサイズが32ビットの場合に意味があります。ただし、sizeof(long)returnsは8、longが8x8=64ビット長であることを示唆するものCHAR_BITとして定義されています。8
ここで何が欠けていますか?不正確ですかsizeof、CHAR_BITそれとも私は何か根本的なことを誤解しましたか?