二進位制,八進位制,十進位制,十六進位制的相互轉換

Pon發表於2020-02-01

進位制的各種轉換方式
^ = 次方(2^2 = 2的2次方)

二進位制轉十進位制

規則:從最低位開始(右邊的),將每個位上的數提取出來,乘以2的(位數-1)次方,然後求和
案例:二進位制:1011轉成十進位制的數

1011 = 1 * 2^0 + 1 * 2^1 +0 * 2^2 + 1 * 2^3

= 1+2+8

= 11

八進位制轉十進位制

規則:從最低位開始(右邊的),將每個位上的數提出來乘以8的(位數-1)次方,
然後求和。

案例:八進位制:123轉成十進位制的數

123 = 3 * 8^0 + 2 * 8^1 + 1 * 8^2

= 3+16+64

= 83

十六進位制轉十進位制

規則:從最低位開始,將每個位上的數提出來,乘以16的(位數-1)次方,然後求和。

案例:十六進位制:0x34A轉成十進位制的數

0x34A = 10 * 16^0 + 4 * 16^1 + 3 * 16^2

= 10+64+768

= 842

十進位制轉二進位制

規則:將該數不斷除以2,直到商為0為止。然後將每步得到的餘數倒過來,就是對應的二進位制。

案例:將56轉成二進位制

進位制轉換

56轉成二進位制為:111000

十進位制轉八進位制

規則:將該數不斷的除以8,直到商為0為止,然後將每步得到的餘數倒過來。就是對應的八進位制。

案例:將156轉成八進位制

進位制轉換

156轉成8進製為:0234

十進位制轉十六進位制

規則:將該數不斷除以16,直到商為0為止,然後沒步得到的餘數倒過來,就是對應的十六進位制。

案例:將356轉成十六進位制

進位制轉換

將356轉成十六進位制為0x164

二進位制轉其他進位制

二進位制轉八進位制
規則:將二進位制數的每三位數一組(從低位開始組合),轉成對應的八進位制數即可。
(三位二進位制數表示的最大八進位制數是7)

案例:將二進位制:11010101轉成八進位制

11010101

分組
11 010 101

101 = 5

010 = 2

11 = 3
將二進位制:11010101轉成八進位制為 0325

二進位制轉十六進位制
規則:將二進位制數的每四位數一組(從低位開始組合),轉成對應的八進位制數即可。

案例:將二進位制:11010101轉成八進位制

11010101

分組
1101 0101

0101 = 5

1101 = D

將二進位制:11010101轉成十六進位制為 0xD5

其他進位制轉二進位制

八進位制轉二進位制
規則:將八進位制數每一位,轉成對應的一個3位的二進位制數即可

案例:將0237轉成二進位制

7 = 111
3 = 011
2 =10

將0237轉成二進位制為:10011111

十六進位制轉二進位制
規則:將八進位制數每一位,轉成對應的一個4位的二進位制數即可

案例:將0x237轉成二進位制

7 = 0111
3 = 0011
2 =10

將0x237轉成二進位制為:1000110111

PHP轉GO 菜鳥一枚,建了一個go語言微信交流群,歡迎各位大佬加入,加我微信 XU1014129578 拉群,暗號:gogogo

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章