計算機數據的表示和轉換

R進制轉十進制使用「按權站開發」算法

將R進制數的每一位數值用R^K表示,冪的底數是R,指數爲K,K與該位和小數點之間的距離有關,當該位位於小數點的左邊,K值是該位和小數點之間數碼的個數,而當該位位於小數點右邊,K值是負值,其絕對值是該位和小數點之間數碼的個數加1。spa

栗子1:開發

二進制:10100.01 = 1*2^4+1*2^2+1*2^-2技巧

栗子2:二進制

七進制:604.01 = 6*7^2+4*7^0+1*7^-2方法

十進制轉R進制使用「短除法」總結

栗子3:將十進制94轉二進制co

二進制|十進制    餘數思維

2|94    0background

2|47    1

2|23    1

2|11    1

2|5      1

2|2      0

2|1     1

0         

一直除到0爲止,將餘數反序排列,即爲二機制,結果爲 「1 011 110」。

栗子4:將十進制94轉八進制

二進制|十進制    餘數

8|94    6

8|11    3

8|1      8

0

一直除到0爲止,將餘數反序排列,即爲八進制,結果爲 「836」。

二進制轉八進制和十六進制及2^N進制,慣用技巧

栗子4:將二進制1 011 110轉八進制

將1011110按「從右致左,沒3位一段,不足部分用0補齊」,即001011110 ,而後每3位轉換成八進制:

第一段「001」,1*2^0 = 1

第二段「011」,1*2^1 + 1*2^0 = 3

第三段「110」,1*2^2 + 1*2^1= 6

轉換後的八進制數爲「136」

栗子4:將二進制1 011 110轉16進制

將1011110按「從右致左,沒4位一段,不足部分用0補齊」,即001011110 ,而後每3位轉換成八進制:

第一段「0000」,0

第二段「0101」,1*2^2 + 1*2^0 = 5

第三段「1110」,1*2^3 + 1*2^2 + 1*2^1 = 14(E)

轉換後的十六進制數爲「5E」

擴散思惟

經過「栗子3個」,「栗子4」聯想到,將二進制轉換成2^N進制的算法技巧

2^3(8)進制,每3個一段;2^4(16)進制,每4個一段;推測4(2^2)進制,每2個一段;推測32(2^5)進制,每5位一段;

推理驗證

將二進制1 011 110轉四進制:==> 01011110  ==>  1132,

驗證過程「1 011 110」的十進制爲「94」 ==> 「94」轉換成四進製爲「1132」;

將二進制1 011 110轉三十六進制:==> 0001011110  ==>  2U(U對應30),

驗證過程「1 011 110」的十進制爲「94」 ==> 「94」轉換成三十六進制爲「2M」(M對應22);

總結:將2進制轉換成2^N位時,當N小於5時,即轉換16進制如下時,每N位一段,分段轉換的方法才成立

相關文章
相關標籤/搜索