進位轉換的問題,考試要考
這種題怎麼破,還用除法?
你不覺得這種方法非常不好算麼
咱玩轉的同學,從來不用這種方法
因為,我們有捷徑——
捷徑在哪裡?就是《玩轉Office輕鬆過二級》第3版,書中介紹的方法!
以下節選自本書正文:
1.2.2.1 十進位數轉換為二進位數
在講進位轉換之前,先來做一個小遊戲。現有一架天平,和4種重量的砝碼,分別重8克、4克、2克、1克(每種砝碼只有一個)。現要用此天平稱重13克的物體,物體放在左盤上,如圖1-3所示。請問在右盤上應怎樣選放4種砝碼,才能使左右兩盤同樣重天平平衡呢?
圖1-3 用天平稱量重物
顯然在右盤上應選放8克、4克、1克這3種砝碼,使右盤總重量也為13。將選放的砝碼用1表示,未選放的砝碼用0表示(只有2克的砝碼未選),按8、4、2、1的順序依次寫出就是:1101,則1101就是十進位數13的二進位形式。無形中已經完成十進位數13到二進位的轉換。
這種轉換方法歸納起來就是:用8、4、2、1四個數去"湊"一個十進位數,選用的數用1表示,未選用的數用0表示,按8、4、2、1由高到低的順序依次寫出1、0序列就是對應的二進位數了。
又如,十進位數8轉換為二進位可直接寫出為:1000。因為重物重8克,恰好有一個8克的砝碼,只選放這一個8克的砝碼就可以了。僅8的對應位寫1,其他3位都寫0。
這四個砝碼的重量8、4、2、1是通過由1開始,向左依次×2得到的,這些數實際是二進位權值。當然還可以再繼續向左×2得到更大的權值16、32、64、128……。當要轉換的十進位數在16以上時,就要用更大的權值來"湊"這個十進位數,轉換方法不變。這種通過用權值"湊"十進位數來轉換二進位的方法屬於降冪法,這是一種比"除2取餘"更簡便的方法。
來,做一道題庫裡的考試題,試試——
【真題連結1-15】十進位數18轉換成二進位數是( )。
A)010101 B)101000
C)010010 D)001010
【答案】C
【解析】用16、8、4、2、1來湊18,顯然用16和2即可。則16和2對應位寫1,其餘對應位寫0,按16、8、4、2、1的順序依次寫出各位為10010。而在數字前加0大小不變,當然也可寫為010010。
對於較大的十進位數不易直接看出權值的"湊"法,這時可由大到小依次考慮各位權值:如果某位權值≤目前"剩餘"的數值,就選用它;否則不選用。例如,十進位數117轉換為二進位數為:1110101B。寫出權值為"64、32、16、8、4、2、1",權值的"湊法"是:
(1)首先考慮權值64是否選用,由於64<117,應該選用。這時要湊的數值還剩117-64=53;
(2)然後考慮權值32,由於32<53(注意要與"剩餘"的數值來比,不要再與117比),也應選用。又選用了32後,目前要湊的數值還剩53-32=21;
(3)再考慮權值16,由於16<21,也應選用16,目前要湊的數值還剩21-16=5;
(4)再考慮權值8,由於8>5,因此不選用8,目前要湊的數值仍還剩5;
(5)再考慮權值4,由於4<5,選用4,目前要湊的數值還剩1;
(6)再考慮權值2,由於2>1,因此不選用2,目前要湊的數值仍還剩1;
(7)再考慮權值1,1=1,選用此權值1,恰好湊完。
在實際換算時,可畫出如圖1-4所示的過程:先依次寫出各位權值(第二行),然後在第一行最左邊寫出117,從左到右遞推。根據每位權值是否選用,在對應位的權值下(第三行)依次寫1或0。
圖1-4 用降冪法將十進位數117轉換為二進位數的遞推過程(灰色線條表示減法計算的減號和等號,例如117-64=53)
來,再做一道題庫裡的考試題,試試——
【真題連結1-16】十進位數60轉換成無符號二進位整數是( )。
A.0111100 B.0111010
C.0111000 D.0110110
【答案】A
【解析】32、16、8、4這四個權值剛好湊出60(32+8=40,16+4=20;40+20=60),這四個權值對應位寫1。只剩2、1兩個權值對應位寫0,依次寫出各位就是111100。而在數字前加0,大小不變。題目中的"無符號"含義是非負數。在二進位的補碼表示中,首位為1表示負數,為0表示非負,因此答案在數字前加一個0強調非負,更為嚴謹。
為十進位數轉換為二進位數的逆過程:
已知了二進位數即已知了各位權值的"湊法",所使用的權值之和即為對應的十進位數。例如,二進位數1101B轉換為十進位數是13,其轉換方法是:
把二進位數1101按從左至右的順序依次讀作8、4、2、1,將二進位數為1的位對應所讀數字相加就可以了,如圖1-5所示。
圖1-5 二進位數1101轉換為十進位數的讀數遞推過程
又如:二進位數1010B轉換為十進位數是10,二進位數101B轉換為十進位數是5。
又到了練幾道題的時候了——
【真題連結1-17】如刪除一個非零無符號二進位偶整數後的2個0,則此數的值為原數的( )。
A.4倍 B.2倍
C.1/2 D.1/4
【答案】D
例如:0100,十進位是幾?4。刪除後2個0變為:01,十進位是幾?1。是原數的多少?
【真題連結1-18】用8位二進位數能表示的最大的無符號整數等於十進位整數( )。
A.255 B.256
C.128 D.127
【答案】A
【解析】答案是1111 1111(8個1),但在分析的時候,並不分析1111 1111,而分析1 0000 0000 更為簡便。後者是在1111 1111基礎上+1得到的,而後者的十進位形式是256(最右邊一位"砝碼重"1,向左各位依次×2得到2、4、8、16……至最左邊的1對應256。只有256對應位為1其他位均為0,只放了256這一個砝碼,十進位數當然是256)。1111 1111的數比它小1,當然是255了。
以上幾道題會了,題庫裡所有這一類的選擇題,全會了!
用得著1300道選擇題,都做一遍嗎?
還找什麼手機,手機刷題軟體?要在手機上把1300道都做一遍,你不覺得累?
PS:八進位/十六進位轉換,二級office要求不多。如需系統學習,還可參考《C語言其實很簡單》:又被搶光了!《C語言其實很簡單》第7次加印:告別枯燥輕鬆學習,顛覆傳統教學模式
為什麼有捷徑,有同學就是不願意用呢
電子版,我們還沒有找到。如果你找到了,記得告訴我們
《玩轉Office輕鬆過二級》第3版全國新華書店和各大網店有售。讀者在網上搜索本書書名(玩轉Office輕鬆過二級),找合適的賣家即可(我們是作者,作者不直銷噢)。