挑戰408——組成原理(8)——數據的表示及其運算刷題(2)

本節的內容:數據的表示和運算
參考資料:408真題
百度文庫王道
涉及的知識點:

  1. 數的補碼,原碼,移碼錶示
  2. 二進制與16進制
  3. 強制類型轉換
  4. 定點數及其加減運算
  5. 浮點數及其加減運算

接上篇的文章

補碼的表示及其大小比較

先給一個一般的規律:當使用補碼錶示時,如果符號位相同,那麼數值位越大,碼值越大。

第一題
在這裏插入圖片描述
分析:一般這種題目,我們都是找臨界條件的,當X1 = 1,後面的全都是0的時候即(1,1000),這個值代表的是-1/2.對於補碼來說,數值位越大,碼值越大,所以x1 = 0,後面的隨意。選D

第二題
在這裏插入圖片描述
分析:同種類型的題目,不過,這是一個整數而已,同樣我們找臨界值,-32的原碼是1,100000,補碼也爲1,100000,所以符號相同時,數值位越大,碼值越大,所以X必須爲1,若此時後面都爲0,顯然這個時候等於 -32,所以必須其他位至少一個爲1,數值位纔可能大於32. 選B

第三題
在這裏插入圖片描述
選C,不解釋了,一樣的

第四題
在這裏插入圖片描述

分析:先注意看,題目給的是補碼,所以補碼是包含符號位的,擴展的是符號位,8的BCD碼爲1000,所以這個補碼爲負號,擴展位全爲.擴展前後不改變位值,所以顯然選B

第五題
在這裏插入圖片描述
在這裏插入圖片描述
分析:用前面的規律,這個第19題很明顯的秒選D,顯然數值位0000最小,代表的是-1.這個2015的真題其實也是殊途同歸,最小的整數,首先一定的負數,用掉了一個1,剩下的5個0和2個1,組成最小的數值位就ok了。所以,最小應該是這樣的:1,0000011,化成原碼爲1,1111101(即-125),選B

第六題
在這裏插入圖片描述
分析:這兩道題目看起來都是進制之間的轉換,其實不然,34稍微不注意就會出錯,先看看。第一個沒得說,先化成原碼,再化成補碼,再換成16進制數,選B
但是後面的就要注意了,這個9不是直接用16進制轉成10進制就好的,很容易一開始這樣做,9 X 16 +B = 155,於是誤選了D,注意,人家說了含有一個符號位,那此9非彼9,那怎麼辦?先把這16進制化成二進制數唄,背熟了BCD碼,分分鐘的時,9B = 1,001 1011,這是補碼(最高位爲符號位,說明是個負數),於是化爲原碼,答案爲 -101,選C

第七題
在這裏插入圖片描述
分析,這個時候如果我們從正面按內容的三種形式分析內容的話,就會顯得很混亂,且不符合我們的計算習慣,於是我們就試試反面入手。
比如35, [-0],原碼 1,0000000,反碼:1,1111111,補碼:1,0000000,好像這裏沒有答案啊,是不是我們算錯了?不對!!注意題目給的是 負的0,也就是說有正的0,只有原碼的表示有正負之分,補碼的0的表示是唯一的!所以選A。
接下來的題目就同理了,答案是:D B D

浮點數的表示及其運算

補充知識點

等式的賦值和判斷常常出現強制類型轉換,不同數據類型的轉換規律也不一樣,常見的有char -> int -> long -> double(範圍精度由小到大)。轉換過程不會丟失。
但是當範圍較大的轉範圍較小的,就可能出現捨去現象,比如int 轉float,小數點後面的都會被捨去。

第一題
在這裏插入圖片描述

分析:先逐個分析,
對於I,先將 int i 轉換成float,由於 i 是整數小數點後沒有數,因此不會造成什麼捨去數據的影響,最後又轉換成整型,截去小數點後面的一堆,所以繞來繞去還是回到起點。正確
對於II,先把f換成整型,這就會把小數點後面的數全部截去,變成1.然後當再次換成float時,這些截去的數據,是再也不會回來的,所以是1.0000,顯然不等,錯誤
同理,III是對的
對於IV,顯然他們的精度是不一樣的,相加的時候,由於階數不同需要對階,那麼對於float來說,基本都移走了,相當於加0,於是d +f = d。顯然不等
選B

第二題
在這裏插入圖片描述
這類題比較繁雜,需要很耐心和細心,先確定階碼,再確定真值。(注意,最高位的總是1,所以我們不用加到23位裏面去算,其小數點後面的就是真值)
在這裏插入圖片描述

第三題
在這裏插入圖片描述
分析:這道題就跟剛剛那道題反過來問了,但是我們可以稍微偷懶。因爲後面的18位都是0,可以不管它,於是化成:
在這裏插入圖片描述
第四題
在這裏插入圖片描述
在這裏插入圖片描述
分析:第五題常識選D,
18題可以投機取巧,f1是C開頭,f2是B開頭,那麼BCD碼的第一個數字肯定是1(因爲大於8嘛),所以他們符號一定相同,且爲負。然後看階碼,算的一個階數是正的,一個是負的,顯然對比絕對值可知,是F2大,選A.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章