我们经常能听到2进制、8进制、10进制、16进制这样的讲法,那是什么意思呢?其实2进制、8进 制、10进制、16进制是数值的不同表示形式而已。 比如:数值15的各种进制的表示形式:
我们重点介绍一下二进制: 首先我们还是得从10进制讲起,其实10进制是我们生活中经常使用的,我们已经形成了很多常识:
以此类推,其实二进制也是⼀样的
那么 1101 就是一个二进制的数字了。
其实10进制的123表示的值是一百二十三,为什么是这个值呢?其实10进制的每一位是有权重的,10进制的数字从右向左是个位、十位、百位....,分别每一位的权重是10^0,10^1,10^2…… 如下图:10进制123每⼀位权重的理解

2进制和10进制是类似的,只不过2进制的每⼀位的权重,从右向左是:2^0、2^1、2^2…… 如果是2进制的1101,该怎么理解呢?
如图:2进制1101每⼀位权重的理解

方法:采用短除法,并且把余数写在商的左边,一直除2直到商为0停止。再由下往上依次所得的余数就是10进制换出的2进制。
如:10进制的125转换位为22进制:1111101

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

期待

您的支持给予我莫大的鼓励!!!