首先需要明确知道进制转换是一种计数的方式,也不代表只有二进制、八进制、十进制、十六进制!比如时分秒的流失进制,天是二十四进制等等!
我们习惯于十进制(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基础篇之进制转换
发布评论