1.
假定某计算机存储器按字节编址,CPU从存储器中读出一个4字节信息D=3234
3538H,该信息的内存地址为
(1)该信息D占用了几个内存单元?这几个内存单元的地址及其内容各是什么?
(2)若D是一个32位无符号数,则其值是多少?
(3)若D是一个32位补码表示的带符号整数,则其值是多少?
(4)若D是一个IEEE
754单精度浮点数,则其值是多少?
(5)若D是一个用
(6)若D是一个字符串,每个字节的低7位表示对应字符的ASCII码,则对应字符串是什么?
(7)若D是两个汉字的国标码,则这两个汉字在GB2312字符集码表中分别位于哪一行和哪一列?
(8)若D中前3个字节分别是一个像素的R、G、B分量的颜色值,则其值各是多少?
【分析解答】
将3234 3538H展开为二进制表示为0011 0010 0011
0100 0011 0101 0011 1000B。
(1)因为存储器按字节编址,所以4个字节占用4个内存单元,其地址分别是
(2)无符号数。值为229+228+225+221+220+218+213+212+210+28+25+24+23。
(3)补码整数。符号为0,表示其为正数,其值与无符号数的值一样。
(4)IEEE 754单精度浮点数。根据IEEE
754单精度浮点数格式可知,符号位s=0,为负数;阶码e=0110
0100B=100,故阶码的值为100–127=
–27;尾数小数部分f=0.
011 0100 0011 0101 0011 1000,所以,其值为1.
011 0100 0011 0101 0011 1B×2-27。
(5)
(6)ASCII码字符串。各字节的低7位分别为011
0010、011
0100、011
0101、011
1000,所以,对应的字符串为“2458”。
(7)汉字。对国标码每个字节各自减20H,得到两个汉字的区位码,分别为1214H和1518H,也即,第一个汉字在GB2312字符集码表中位于第18(12H)行、第20(14H)列,第二个汉字位于第21(15H)行、第24(18H)列。
(8)颜色值。该像素的R、G、B分量的颜色值分别为0011
0010B=50,0011
0100B=52,0011
0101B=53。




