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”
