进制详情
进制分类
二进制: 以数字0-1来表示每一个自然数,逢2进1。
八进制: 以数字0-7来表示每一个自然数,逢8进1。
十进制: 以数字0-9来表示每一个自然数,逢10进1。
十六进制: 以数字0-9,a-f来表示每一个自然数,逢16进1。
进制表示
二进制: 以 0b 作为开头,表示一个二进制的数字,例如: 0b10、0b1001…
八进制: 以 0 作为开头,表示一个八进制的数字,例如:010、027…
十进制: 没有以任何其他的内容作为开头,表示一个十进制的数字,例如: 123、29…
十六进制: 以 0x 作为开头,表示一个十六进制的数字,例如:0x1001、0x8FC3…
进制的转换
- 十进制转其他进制
辗转相除法: 用数字除进制,再用商除进制,一直到商为零结束,最后将每一步得到的余数倒着连接以来,就是这个数字的指定的进制表示形式。
- 其他进制转十进制
每一位的数字乘进制的位数-1次方,再将所有的结果累加到一起。
0b10010 = 1 x 24 + 1 x 21 = 16 + 2 = 18
022 = 2 x 81 + 2 x 80 = 16 + 2 = 18
0x12 = 1 x 161 + 2 x 160 = 16 + 2 = 18
- 二进制与八进制,十六进制的相互转换
每一个八进制位可以等价替换成三个二进制位。
注意:
1.划分从右到左进行,如果二进制数的左边不够三位,直接在高位补零凑齐三位
2.当八进制数转成二进制数时,将上述过程反转,有一点要记住,每一个八进制的数必须对应三 位二进制位,如果八进制数在转化时得到的二进制数不够三位,直接在最左边用零补齐.
每一个十六进制位可以等价替换成四个二进制位。 跟二进制与八进制的转化规则类似