二进制和进制转换:
其实我们经常能听到2进制、8进制、10进制、16进制这样的讲法,那是什么意思呢?其实2进制、8进制、10进制、16进制是数值的不同表示形式而已。
比如:数值15的各种进制的表示形式:
15
的
2
进制:
1111
15
的
8
进制:
17
15的
10进制:
15
15的
16进制:
F
二进制:
我们生活在一个十进制的世界,但是二进制与我们生活息息相关,我们所用的计算器,电脑,手机的运行都是由二进制转换产生的。
· 2进制中满2进1
· 2进制的数字每一位都是0~1的数字组成
二进制转十进制:
其实10进制的123表⽰的值是⼀百⼆⼗三,为什么是这个值呢?其实10进制的每⼀位是权重的,10进
制的数字从右向左是个位、⼗位、百位....,分别每⼀位的权重是 10º , 10 ¹, 10 ²...
如下图:
![](https://img-blog.csdnimg.cn/direct/ce4c98494c774ee1879da73867109a34.png)
2进制和10进制是类似的,只不过2进制的每⼀位的权重,从右向左是:
2 º, 2¹ , 2 ²...
如果是2进制的1101,该怎么理解呢?
![](https://img-blog.csdnimg.cn/direct/dbf5dbce7fd54e7cbbcc70fd86946644.png)
十进制转二进制数:
![](https://img-blog.csdnimg.cn/direct/32e72e65057a4ae9884f813821b69823.png)
二进制转八进制:
8进制的数字每⼀位是0~7的,0~7的数字,各自写成2进制,最多有3个2进制位就足够了,比如7的二进制是111,所以在2进制转8进制数的时候,从2进制序列中右边低位开始向左每3个2进制位会换算1个8进制位,剩余不够3个2进制位的直接换算。
如:2进制的01101011,换成8进制:0153,0开头的数字,会被当做8进制。
![](https://img-blog.csdnimg.cn/direct/9a787026cfdd4d7a8714ea02e15f078c.png)
二进制转十六进制:
16进制的数字每⼀位是0~9,A ~F 的,0~9,A ~F的数字,各自写成2进制,最多有4个2进制位就足够了,比如F的二进制是1111,所以在2进制转16进制数的时候,从2进制序列中右边低位开始向左每4个2进制位会换算1个16进制位,剩余不够4个二进制位的直接换算。
如:2进制的01101011,换成16进制:0x6b,16进制表示的时候前面加0x
![](https://img-blog.csdnimg.cn/direct/52b665ba355f40688c19c40ec5a4faff.png)