21.01.2015 Views

第7回(6/4)

第7回(6/4)

第7回(6/4)

SHOW MORE
SHOW LESS

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));

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!