什么是进制? 进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。 2 常见的进制 二进制 Binary 八进制 Octal 十进制 Decimal 十六进制 Hexadecimal
3 对应关系 二进制 | 八进制 | 十进制 | 十六进制 | 0000 | 0 | 0 | 0 | 0001 | 1 | 1 | 1 | 0010 | 2 | 2 | 2 | 0011 | 3 | 3 | 3 | 0100 | 4 | 4 | 4 | 0101 | 5 | 5 | 5 | 0110 | 6 | 6 | 6 | 0111 | 7 | 7 | 7 | 1000 | 10 | 8 | 8 | 1001 | 11 | 9 | 9 | 1010 | 12 | 10 | A | 1011 | 13 | 11 | B | 1100 | 14 | 12 | C | 1101 | 15 | 13 | D | 1110 | 16 | 14 | E | 1111 | 17 | 15 | F |
4 进制之间的转换 5 转换关系 十转二 十转八 十转十六 二转八 二转十 二转十六 十六转二 十六转八 十六转十 ……
这么多进制之间的转换,看完以后就再也不打算学了!其实根本没有那么复杂,上面的转换关系可以精简成如下关系: 十转X 整数部分,对X短除取余倒序 小数部分,与X相乘取整正序 X转十 按权展开求和 什么是权? 例如十进制数111,三个“1”放在不同的位置,所代表的意义也不同。从左到右分别为100,10,1。还可以表示为:1×102,1×101,1×100。 这里面10x 就叫做权,二进制则为2x,八进制为8x,以此类推。 OK,现在是不是简单了。到这里可能有人会有疑问了,你只说了十进制和其他进制之间的转换,那其他进制之间的转换呢?别着急往下看: 我们以二进制和十六进制的转换为例,首先大家看一下上面那个对应关系表,很容易就会发现一个规律——四位二进制数刚刚对应一位十六进制数所表示的范围(二进制的0000-1111对应十六进制的0-F)。 OK知道这个规律以后,一切都变得明了了。那么将9F(H)转成二进制就可以分别将9和F转成四位二进制数,然后组合起来就好了,如下图: 那么9F(H)转成二进制数就是10011111,二进制转十六进制就是先讲二进制数四位一组的规则分好组,然后转成对应的十进制数(超过十的用A-F表示)。 八进制和二进制的转换也是这个规律,只不过对应关系变成了三位二进制数对应一位八进制数而已。 PS:八进制和十六进制之间不能直接转换,八进制需要先转成二进制或十进制,在有对应的二进制或十进制转成十六进制,反过来也一样。 6 找节点 十进制转其他进制的短除法我觉得还是有点麻烦,有没有更简单的方法呢?当然有啦,哈哈哈!其实方法很简单,就三个字——找节点。 节点表 二进制的权 | 二进制数 | 十进制 | 20 | 1 | 1 | 21 | 10 | 2 | 22 | 100 | 4 | 23 | 1000 | 8 | 24 | 10000 | 16 | 25 | 100000 | 32 | 26 | 1000000 | 64 | 27 | 10000000 | 128 | 28 | 100000000 | 256 | 29 | 1000000000 | 512 | 210 | 10000000000 | 1024 |
这个表有什么用呢? 比如我们要将578转成二进制,我们不用短除法,我们看看上面表中与578最相近的数是多少? 很容易就找到512,它是29 对应的二进制数是1000000000(一个1后面九个0,2的n次方对应的二进制数是1后面n个0),578-512=66; 再去表中找和66最相近的数,很容易找到了64,它是26,对应的二进制数是100000,66-64=2; 2对应的二进制是10。这样很容易就计算出578对应的二进制数为1001000010。 十转八和十转十六同理,不再赘述了,同学们自己练习哦~!
|