计算机系统基础(一):程序的表示、转换和链接---第二周

1.108对应的十六进制形式是(    )。

 A.B4H

 B.5CH

 C.6CH

 D.63H

2.–1029的16位补码用十六进制表示为(    )。
A.8405H 
B.0405H 
C.FBFBH
D.7BFBH
3.考虑以下C语言代码:

        short si=–8196;

unsigned short usi=si;

执行上述程序段后,usi的值是(   )。

A.57340

B.57339

C.34572

D.8196

解析:  A、-8196=-(8192+4)=-10 0000 0000 0100B,因此,si和usi的机器数都为1101 1111 1111 1100,按无符号整数解释,其值为65535-3-8192=65535-8195=57340。
 
4.考虑以下C语言代码:

    short si=–32768;

unsigned short usi=si;

执行上述程序段后,usi的值是(   )。

A.65535
B.–32768
C.65536
D.32768
解析:  D、-32768=-1000 0000 0000 0000B,因此,si和usi的机器数都为1000 0000 0000 0000,按无符号整数解释,其值为32768。
 
5.考虑以下C语言代码:

unsigned short usi=65535;

short si=usi;

执行上述程序段后,si的值是(   )。

A.1 
B.–1
C.–65535
D.65535
解析:  B、65535=1111 1111 1111 1111B,因此,usi和si的机器数都为1111 1111 1111 1111,按带符号整数解释,其值为-1。
 
6.在ISO C90标准下执行以下关系表达式,结果为“真”的是(  )。
A.(unsigned) –1 > –2 
B.–1 < 0U
C.2147483647 < (int) 2147483648U
D.2147483647 > –2147483648
解析:  A、-1的机器数为全1,-2的机器数为11┅10,按无符号整数比较,显然全1比任何数大,即结果为“真”。  B、-1的机器数为全1,按无符号整数比较,全1是最大的数,显然比0大,即结果为“假”。  C、2147483647的机器数为011┅1,在C90中为int型;2147483648的机器数为100┅0,在C90中为unsigned型,强制类型转换为int后,按带符号整数比较,显然011┅1比100┅0大,即结果为“假”。  D、2147483647的机器数为011┅1,在C90中为int型;2147483648的机器数为100┅0,在C90中为unsigned型,-2147483648的机器数通过对100┅0各位取反末位加一得到,因此,机器数还是100┅0。011┅1和100┅0按无符号整数比较,显然011┅1比100┅0小,即结果为“假”。
 
7.–1028采用IEEE 754单精度浮点数格式表示的结果(十六进制形式)是( )。 
A.44C04000H
B.C4808000H
C.44808000H
D.C4C04000H
 
8.假定变量i、f的数据类型分别是int、float。已知i=12345,f=1.2345e3,则在一个32位机器中执行下列表达式时,结果为“假”的是(  )。

A.i==(int)(float)i 

B.i==(int)(double)i
C.f==(float)(int)f
D.f==(float)(double)f
 
解析:  A、12345<1024x16=2^14,因此,12345对应的二进制数的有效位数一定小于14,更小于IEEE 754单精度格式的有效位数24,因而转换为float型后,不会发生有效数字丢失,也即能够精确表示为float型,再转换为int型后,数值是一样的。  B、任何int型数的有效位数不会超过31位,因此都能精确转换为具有53位有效位数的double型。  C、f=1234.5,转换为int型数后,小数点后面的数字被丢失,因此与原来的f不相等。  D、double型数的有效位数比float型数大得多,因而f转换为double类型后不会发生有效数字丢失。
 
9.假定某计算机按字节编址,采用小端方式,有一个float型变量x的地址为0xffffc000,x=12345678H,则在内存单元0xffffc001中存放的内容是(   )。
A.0001001000110100B
B.0101B
C.00110100B
D.01010110B
解析:  A、因为按字节编址,所以某一个单元内只能存放8位数字。  B、因为按字节编址,所以某一个单元内存放一个8位数字。  C、00110100B=34H,小端方式下,78H存在0xffffc000单元中,34H存在0xffffc002单元中,即结果错误。  D、01010110B=56H,小端方式下,78H存在0xffffc000单元中,56H存在0xffffc001单元中,即结果正确。
 
10.下面是关于计算机中存储器容量单位的叙述,其中错误的是(   )。
A.最基本的计量单位是字节(Byte),一个字节等于8bit
B.一台计算机的编址单位、指令字长和数据字长都一样,且是字节的整数倍
C.“主存容量为1KB”的含义是指主存中能存放1024个字节的二进制信息
D.最小的计量单位为位(bit),表示一位“0”或“1”

猜你喜欢

转载自www.cnblogs.com/Shevewinyei/p/12002969.html