何と呼べばいいのかわからないので、どうやって検索すればいいのかわかりません。
unsigned int odd : 1;
編集:
詳述すると、それはこのスニペットから来ています:
struct bitField {
unsigned int odd : 1;
unsigned int padding: 15; // to round out to 16 bits
};
私はこれに少し関係があると思いますが、私はまだ完全には理解していません。
何と呼べばいいのかわからないので、どうやって検索すればいいのかわかりません。
unsigned int odd : 1;
編集:
詳述すると、それはこのスニペットから来ています:
struct bitField {
unsigned int odd : 1;
unsigned int padding: 15; // to round out to 16 bits
};
私はこれに少し関係があると思いますが、私はまだ完全には理解していません。
それらはビットフィールドです。odd
の最下位ビットと上位15ビットを占める1つ(16ビット)にpadding
格納されます。unsigned int
odd
padding
unsigned int
それはビットフィールドです-CのFAQを確認してください。
これは:
unsigned int
。これが32ビットである最新の32ビットプラットフォームでは、メモリにさらに16個の0が表示されます(ただし、構造体には表示されません)。(この場合sizeof
は4を返します)ビットフィールドはメモリを節約できますが、計算に命令を追加する可能性があります。場合によっては、コンパイラがビットフィールド設定を無視することがあります。コンパイラが実際にビットフィールドをレイアウトする方法を想定することはできません。また、プラットフォームのエンディアンに依存する可能性があります。
私がビットフィールドを使用する主な目的は、データのコピーを大量に行うことを知っている場合であり、必ずしもビットフィールド内の特定のフィールドの計算や参照を大量に行う必要はありません。