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

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

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進数計算の例も説明する。

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

 

2015年12月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

アーカイブ

Google

このブログ記事について

このページは、T-Saitohが2010年11月 4日 10:40に書いたブログ記事です。

ひとつ前のブログ記事は「Arduinoで3軸加速度センサーを使ってみた」です。

次のブログ記事は「MacでARToolkit、UVCカメラNGだった」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。