Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TORU WAKAHARA<br />
《 補 足 例 題 》a, b, c の3つのビットフィールドを 持 つ 構 造 体 (タグ 名 b_type, 変 数 名 bvar)<br />
を 使 ったプログラムを 作 りなさい。a と b は 3 ビットの 長 さとし,c は 2 ビットの 長 さと<br />
する。また,すべて signed 変 数 とする。 次 に,bvar の a, b, c にそれぞれ 値 -1, 3, 1<br />
を 代 入 し,その 値 を 表 示 しなさい。<br />
#include <br />
main()<br />
{<br />
struct b_type {<br />
signed int a: 3; /* a, b, c それぞれ 表 現 できる 値 の 範 囲 は */<br />
signed int b: 3;<br />
signed int c: 2;<br />
} bvar;<br />
}<br />
bvar.a = -1; /* -5 を 代 入 するとどうなるか */<br />
bvar.b = 3;<br />
bvar.c = 1; /* 3 を 代 入 するとどうなるか */<br />
printf("%d %d %d\n", bvar.a, bvar.b, bvar.c);<br />
printf("size of b_type = %d\n", sizeof(struct b_type));