进制转换
进制转换是人们利用符号来计数的方法。进制也是我们在数数的时候的一种习惯,我们每个人都有十个手指,我们习惯上使用的数数是十进制。但对于计算机来说,我们必须使用二进制,那是因为组成计算机的元件,一般只有两种状态 0 1。
二进制对于我们程序员来说阅读不是很方便,也不方便书写,所以有了八进制和十六进制。今天主要说一下十进制、二进制、八进制、十六进制之间的相互转换。
十进制转二进制 及 二进制转十进制
十进制转二进制采用“除二取余”法。除二取余,倒序排列。
将一个十进制数除以2,得到的商再除以2,以此类推,直到商等于1或0时为止。
52除以2,为26,无余数,记0。26除以2,为13,无余数,记0。13除以2,6余1,记1(有余数的均记1)。依次除以2,最终得到的0与1倒序排列记为110100。这就是十进制的52转化为二进制的结果。
验证是否转换正确的方法(转化为10进制):
110100 = 0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 + 0乘以2的3次方 + 1乘以2的4次方 +1*乘以2的5次方 = 0 + 0 + 4 + 0 + 16 + 32 = 52
二进制转八进制 及 八进制转十进制
规律: 自右往左每三位一组,不足三位的用0补齐,将每一组数单独转成十进制,
这个数就是八进制数。
此处以52的二进制为例:110100
110 100:
0乘以2的0次方 + 1乘以2的1次方 + 1乘以2的2次方 = 6
0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 = 4
最终结果为64
验证是否转换正确的方法(转化为十进制):
64 = 4乘以8的0次方 + 6乘以8的1次方 = 4 + 48 = 52
二进制转十六进制 及 十六进制转十进制
规律: 自右往左每四位一组,不足四位的用0补齐,将每一组数单独转成十进制。
(0-9 a b c d e f)
此处依旧以52的二进制为例:
0011 0100:
1乘以2的0次方 + 1乘以2的1次方 + 0乘以2的2次方 + 0乘以2的3次方 = 1 + 2 = 3
0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 + 0乘以2的3次方 = 4
最后结果为34
验证是否转换正确的方法(转化为十进制):
34 = 4乘以16的0次方 + 3乘以16的1次方 = 4 + 48 = 52
十进制转八进制 及 十进制转十六进制
十进制转八进制,可以使用除八取余法。
十进制转十六进制,可以使用除十六取余法。