ホーム » スタッフ » 斉藤徹 » ワード境界とビットフィールド

2010年11月
« 10月   12月 »
 123456
78910111213
14151617181920
21222324252627
282930  

最近の投稿(電子情報)

アーカイブ

カテゴリー

ワード境界とビットフィールド

構造体を使った演習も終わってるので、ワード境界とビットフィールドについて説明する。

32bitコンピュータであれば、CPUとメモリのデータのデータのやり取りは、4byte=32bit単位で 一括して行う。このため、ワード境界にまたがったデータの配置が行われると、 処理速度の低下につながる。授業では、構造体で"char a[9] ;" があった場合の説明を行う。

処理速度重視ならワード境界配置、メモリの効率よい利用であればワード境界無視(Visual C++なら"#pragma pack"らしい)だけど、年月日のデータをy=int,m=int,d=int なら、96bitになるけど、 y=0..2047,m=1..12,d=1..31で考えれば、20bitで表現も可能となる… ということを説明して、ビットフィールドを説明する。 授業では、組み込み系プログラミングなどでは相変わらずシフト演算や&(AND)や|(OR)を 使った計算も理解の必要もあるし、2進数計算の例も説明する。

昨年の授業と進展が同じなので、詳しくは昨年のページにて…