以常见的二进制,八进制,十进制,十六进制为例
十进制 | 二进制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的逆运算)
(转为十六进制)
两种方法
-
可以先转换为二进制,再转换为十六进制。
-
可以先转换为十进制,再转换为十六进制。
(十六进制-->其他进制)(以35为例)
(转为二进制)
二进制转十六进制的逆运算
(转为八进制)
也是两种方法
-
可以先转换为二进制,再转换为八进制。
-
可以先转换为十进制,再转换为八进制。
(转为十进制)
0x35 = 3*16+5;(方法和八进十类似)