16-第15章复习题答案
A.15 第15章复习题答案
1.a. 00000011
b. 00001101
c. 00111011
d. 01110111
2.a. 21, 025, 0x15
b. 85, 0125, 0x55
c. 76, 0114, 0x4C
d. 157, 0235, 0x9D
3.a. 252
b. 2
c. 7
d. 7
e. 5
f. 3
g. 28
4.a. 255
b. 1 (not false is true)
c. 0
d. 1 (true and true is true)
e. 6
f. 1 (true or true is true)
g. 40
5.掩码的二进制是 1111111
;十进制是 127
;八进制是 0177
;十六进制是 0x7F
。
6. bitval
* 2
和 bitval << 1
都把 bitval
的当前值增加一倍,它们是等效的。但是 mask += bitval
和 mask |= bitval
只有在 bitval
和 mask
没有同时打开的位时效果才相同。例如, 2 | 4
得 6
,但是 3 | 6
也得 6
。
7.a.
struct tb_drives {
unsigned int diskdrives : 2;
unsigned int : 1;
unsigned int cdromdrives : 2;
unsigned int : 1;
unsigned int harddrives : 2;
};
b.
struct kb_drives {
unsigned int harddrives : 2;
unsigned int : 1;
unsigned int cdromdrives : 2;
unsigned int : 1;
unsigned int diskdrives : 2;
};