C ビットフィールド 新しいページはコチラ
提供: yonewiki
(→ビットフィールド) |
|||
3行: | 3行: | ||
<br /> | <br /> | ||
== '''ビットフィールド''' == | == '''ビットフィールド''' == | ||
+ | |||
ビットフィールドは、int変数の型の大きさ(4Byte)をバイト単位ではなくビット単位で確保しようとするものですが、構造体の中で定義される変数をビット単位で領域を分け合うことにより利用するべきメモリサイズを節約できる技術になります。真と偽の2値を扱うためのbool型でも1バイトを消費してしまうように型の大きさがバイト単位で確保されるものになっているのですが、ビットフィールドを使うことによって、2値の表現で必要となる1ビットのbool型のような変数のための領域の確保を実現できます。他にもMIDIの要素値やマイコンのように保持可能な値の範囲が0~127や1~128であるような7bitの大きさのint型を作ったりすることも出来ます。特殊な型で、通常の変数と混用することで、桁あふれが発生しやすくなりますので、十分に留意して扱う必要が発生します。 | ビットフィールドは、int変数の型の大きさ(4Byte)をバイト単位ではなくビット単位で確保しようとするものですが、構造体の中で定義される変数をビット単位で領域を分け合うことにより利用するべきメモリサイズを節約できる技術になります。真と偽の2値を扱うためのbool型でも1バイトを消費してしまうように型の大きさがバイト単位で確保されるものになっているのですが、ビットフィールドを使うことによって、2値の表現で必要となる1ビットのbool型のような変数のための領域の確保を実現できます。他にもMIDIの要素値やマイコンのように保持可能な値の範囲が0~127や1~128であるような7bitの大きさのint型を作ったりすることも出来ます。特殊な型で、通常の変数と混用することで、桁あふれが発生しやすくなりますので、十分に留意して扱う必要が発生します。 | ||