C言語でビット単位でパックされているデータってどのように取り扱うのがスタンダードなの?
例えばRGB565みたいな奴(とりあえずバイトオーダーは無視する)
ビットフィールドで定義すれば楽で見やすいけどマイナーな処理系も考慮すると互換性が心配
やっぱり
unsigned short color_rgb565;
unsigned char r8, g8, b8;
color_rgb565 = 0x8410;
r8 = color_rgb565 >> 11;
g8 = 0x3F & (color_rgb565 >> 5);
b8 = 0x1F & color_rgb565;
みたいに書くのが良いの?