計算機系統基礎(一):程序的表示、轉換和鏈接---第二周


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”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM