目录
为大家用最简单、最易理解的方法介绍一下进制之间的转换方法。
其实我们经常能听到2进制、8进制、10进制、16进制这样的讲法,那是什么意思呢?其实2进制、8进制、10进制、16进制是数值的不同表示形式而已。
比如15的各种进制表示:
一.2进制的介绍
首先我们还是得从10进制讲起,其实10进制是我们生活中经常使用的,我们已经形成了很多尝试:
- 10进制中满10进1
- 10进制的数字每⼀位都是0~9的数字组成
其实二进制也是⼀样的
- 2进制中满2进1
- 2进制的数字每⼀位都是0~1的数字组成
那么
1101
就是⼆进制的数字了。
二.2转10
其实10进制的123表示的值是一百二十三,为什么是这个值呢?其实10进制的每⼀位是权重的,10进制的数字从右向左是个位、⼗位、百位....,分别每一位的权重是 10^0 , 10^1 , 10^2 ...
2进制和10进制是类似的,只不过2进制的每⼀位的权重,从右向左是:
2^0 , 2^1 , 2^2 ...
如果是2进制的1101,该怎么理解呢?
三.2转8和16
8进制的数字每⼀位是0~7的,0~7的数字,各自写成2进制,最多有3个2进制位就足够了,比如7的二进制是111,所以在2进制转8进制数的时候,从2进制序列中右边低位开始向左每3个2进制位会换算一个8进制位,剩余不够3个2进制位的直接换算。
如:2进制的01101011,换成8进制:0153,
0开头的数字,会被当做8进制
。
16进制的数字每⼀位是0~9,a ~f 的,0~9,a ~f的数字,各自写成2进制,最多有4个2进制位就足够了, 比如 f 的⼆进制是1111,所以在2进制转16进制数的时候,从2进制序列中右边低位开始向左每4个2进制位会换算一个16进制位,剩余不够4个⼆进制位的直接换算。
如:2进制的01101011,换成16进制:0x6b,
16进制表示的时候前面加0x。
四.10、8和16转2
10进制的125转换成2进制:
- 10进制转换成8进制时只需把除数改为8。
- 转换成16进制时把除数改为16,其他步骤都一样。