进制之间互相转换
进制是计算机中数据的一种表示方法。 N进制的数可以用0~(N-1) 的数表示, 超过9的用字母A-F 表示 .
我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。其他的同理。
好的,接下来就是进制之间的互相转换了。
二进制
2进制 由 0-1组成
八进制
8进制 由 0-7组成
十进制
10进制 , 就是 用 0~9 的数表示 , 逢 10 进 1
十六进制
16 进制由 0-9,A-F组成, 与10进制的对应关系是:0-9 对应 0-9;A-F对应10-15; 字母不区分大小写。
十进制转二进制
十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除,直到商为0为止,最后得到的余数反转就是转换后的结果
最后将每次得到的余数顺序反转,就是转换后的结果,即149转换为二进制后结果为:10010101
二进制转十进制
把二进制数按权展开、相加即得十进制数。
我们以索引为0开始算起
二进制第0位对应的权值是2的0次方,第1位为2的1次方……第N为为2,的N次方,每个位上的权值最后相加得到的结果即为换算后的10进制。(计算方式从右向左哟)
10010101转十进制
换算成上面的横式为(从右向左哟):
1x20+0x21+1x22+0x23+1x24+0x25+0x26+1x27 = 149
0乘以任何数都等于0,简化后即
1x20+1x22+1x24+1x27 = 149
即
1 + 4 + 16 + 128 = 149
如图
其实常用的2的N次方我们大多数都能记得2的8次方等于256,所以9位及以内的二进制我们可以根据图表算出来
十进制 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|
二进制 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
所以刚才的二进制数字依次填入下表中,可以清晰看到每位对应的数字,0可以忽略掉,结果即:128+16+4+1=149
八进制转二进制
八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零
十六进制转二进制
十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
二进制转八进制
3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
二进制转十六进制
与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。
十进制转八进制
第一:间接法—把十进制转成二进制,然后再由二进制转成八进制,按照上述做法依次转换,故这里不做演示。
第二:直接法—把十进制转八进制按照除8取余,直到商为0为止。(具体用法如下图)
十进制转十六进制
第一:间接法—把十进制转成二进制,然后再由二进制转成十六进制,按照上述做法依次转换,故这里不做演示。
第二:直接法—把十进制转十六进制按照除16取余,直到商为0为止。(具体用法如下图)
八进制转十进制
把八进制数按权展开、相加即得十进制数。
十六进制转十进制
把十六进制数按权展开、相加即得十进制数。
八进制十六进制互相转换
八进制与十六进制之间的转换有两种方法
第一种:他们之间的转换可以先转成二进制然后再相互转换。
第二种:他们之间的转换可以先转成十进制然后再相互转换。
两种都是间接转换,所以按照上方方法依次转换即可。