03进制转换


进制间的相互转换

以常见的二进制,八进制,十进制,十六进制为例

十进制 二进制0b 八进制0 十六进制0x
10 1010 12 a
53 110101 65 35
78 1001110 116 4e
100 1100100 144 64

十进制-->其他进制(以53为例)

方法 : (转为二进制)

余项

53 / 2 = 26 1 26 / 2 = 13 0 13 / 2 = 6 1 6 / 2 = 3 0 3 / 2 = 1 1 1 / 2 = 0 1

余项从下向上依次写出即为十进制53的二进制,即为110101;

(转为八进制)

余项 53 / 8 = 6 5 6 / 8 = 0 6

余项从下向上依次写出即为十进制53的八进制,即为65;

(转为八进制)

余项 53 / 16 = 3 5 3 / 16 = 0 3

余项从下向上依次写出即为十进制53的八进制,即为35;


二进制-->其他进制(以110101为例)

二进制数从后往前依次为2的倍数,最后一位为2的0次方,倒数第二个为2的1次方,依次类推

所以:(转为十进制)

方法:每一位上的数乘以2的N-1次方

110101为6位数,所以第一位为2的5次方,即为1*32;

第二位为2的4次方,即为1*16;

第三位为2的3次方,即为0*8;

第四位为2的2次方,即为1*4;

第五位为2的1次方,即为0*2;

第六位为2的0次方,即为1*1;

即32+16+4+1=53,即二进制110101的十进制为53;

(转为八进制)

八进制是2的三次方,所以从后往前数,每三位为一组,不足三位的在前面补零

110101分组后为 110 101

110是6,101为5,所以110101的八进制为65

(转为十六进制)

十六进制方法和八进制方法一样。

十六进制是2的四次方,所以从后往前数,每四位为一组,不足四位的在前面补零

110101分组后为 0011 0101

0011是3,0101是5,所以110101的十六进制为35


(八进制-->其他进制)(以65为例)

(转为十进制)

其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上的数乘以位权

065 = 6 * 8 + 5=53

再举个例子以0116为例:

0116 = (1*8+1)*8+6 = 78(类似嵌套一样)

(转为二进制)

065 将65拆开为6 5

6的二进制为110,5的二进制为101,所以065的二进制为110101;(就是2转8的逆运算)

(转为十六进制)

两种方法

  1. 可以先转换为二进制,再转换为十六进制。

  2. 可以先转换为十进制,再转换为十六进制。


(十六进制-->其他进制)(以35为例)

(转为二进制)

二进制转十六进制的逆运算

(转为八进制)

也是两种方法

  1. 可以先转换为二进制,再转换为八进制。

  2. 可以先转换为十进制,再转换为八进制。

(转为十进制)

0x35 = 3*16+5;(方法和八进十类似)



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM