私はビットの扱いに非常に慣れておらず、コンパイル時に次の警告に固執しています。
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
それとも私は何か根本的なことを誤解しましたか?