首先需要明确知道进制转换是一种计数的方式,也不代表只有二进制、八进制、十进制、十六进制!比如时分秒的流失进制,天是二十四进制等等!

我们习惯于十进制(0~9)的计数规则,但是计算机用的是二进制(0~1)的计数规则。要理解陈旭时,必须先理解它们之间的进制转换,才可以理解为什么要这样进行!

十进制=>二进制

也可以用110100转十进制反向验证

从右开始0

0*2的次幂还是零所以不算

从右开始第一个1* 2的2次幂+1*2的4次幂以此类推

1 * 2^2 + 1*2^4 + 1*2^5 = 4 + 16 + 32 = 52

得到结果依然是52

十进制=>八进制(模八取余) 十进制=>十六进制(模十六取余)都可以用这种方式来操作,但是比较麻烦

可以先将十进制数转成二进制,再将二进制数转成对应八进制或者十六进制。

二进制转八进制:

规则:从右往左数,每三位一组,不足三位的用0补齐,最后将每一组数单独转成十进制数。

110 100

52的八进制数:64 => 4*8^0 + 6*8^1 = 52;

二进制转十六进制:

规则:从右往左数,每四位一组,不足四位的用0补齐,最后将每一组数单独转成十进制数。

0011 0100

52的十六进制数:34 => 3*16^1 + 4*16^0 = 52;

更多推荐

Web前端:JavaScript基础篇之进制转换