二、八、十、十六进制介绍及相互转换

目录

1、引言:

2、进制介绍及区分

2.1 介绍

2.2 区分

2.3 各进制的数字组成

3、2进制与10进制

3.1 十进制的介绍

3.2 二进制的介绍

4、2进制与10进制的转换

4.1 二进制转十进制

4.2 十进制转二进制

5、8进制和16进制

5.1 八进制的介绍

5.2 十六进制的介绍

6、2进制转8进制和16进制

6.1 二进制转八进制

6.2 二进制转十六进制

7、8进制和16进制转2进制

8、结语:


1、引言:

关于二进制、八进制、十进制、十六进制,相信大家都曾有过一些了解。然而,或许您对这些进制并没有深入的理解。接下来,本文将带您深入了解这些数制,让您对它们有更清晰的认知,并掌握它们之间的转换方法。

2、进制介绍及区分

2.1 介绍

二进制,八进制,十进制,十六进制指的是数值的不同表示形式。

举个例子:

假设数值就是我自己,无论处于何种情境,我的本质始终如一。就像在不同的场景中我有着不同的身份,在学校我是学生,在家里我是子女,在公司我是员工,在战场我是战士。无论我在学校、家里、公司还是战场,我这个人的本质是不变的。只是因为所处的“环境规则”不同,导致了外在的表现形式有所差异。

比如说:数值15的各种进制表示形式:

1152 进制:1111

215 8 进制:17

315 10 进制:15

415 16进制:F

尽管‘1111’ ‘17’ ‘15‘ ’F‘形式不同,但是他们都是指的是15这个数值。

2.2 区分

在上面的例子中,我们可以看到8进制172进制15实际上是相等的。如果没有事先告诉我们,只给出1715这两个数,我们该如何区分它们是8进制还是2进制呢?同样地,16进制F字符 F 又该如何区分呢?如果我们无法区分,那么计算机也无法识别它们。因此,我们需要一种方法来标记这些数字的进制,以确保计算机能够正确地识别它们。

因此,在计算机上写八进制和十六进制的数值时,需要一些标记:

  • 16进制的数值之前写:0x
  • 8 进制的数值之前写:0

这样在输入到计算机的时候,计算机就可以很轻易的区分输入的值是上面形式了。

如图展示:

我们可以看到打印出来的结果都是15.

2.3 各进制的数字组成

10进制:0 1 2 3 4 5 6 7 8 9 ;

 8进制:0 1 2 3 4 5 6 7 ;

16进制:0 1 2 3 4 5 6 7 8 9 a b c d e f ;

 2进制:0 1

3、2进制与10进制

3.1 十进制的介绍

在介绍其它进制之前,我们先说一下10进制,十进制是我们生活中经常所使用的,因此我们也形成了一些常识:

  • 10进制中满10进1
  • 十进制的数字每一位都是由0~9的数字组成

3.2 二进制的介绍

当了解了10进制后,其实2进制也是一样的。

  • 2进制中满2进1
  • 2进制的数字每一位都是由0 1组成的

比如说1101就是2进制的数字了。

4、2进制与10进制的转换

4.1 二进制转十进制

10进制的123表示的值就是123,那么为什么呢?其实10进制的每一位是由权重的,10进制的数字从右向左是个位、十位、百位……分别每一位的权重是10^0、10^1、10^2……

如图:十进制表示123

10进制123每一位权重的理解
百位十位个位
10进制的位123
权重10^210^110^0
权重值100101
求和1*1002*103*1123

2进制和10进制是类似的,只不过2进制的每一位的权重,从右向左是:2^0、2^1、2^2……

2进制的1101表示为10进制是多少呢?

如图: 

2进制的1101每一位权重的理解
2进制的位1101
权重2^32^22^12^0
权重值8421
求和1*81*40*21*113

2进制的1101转为10进制后的值为 13。

4.2 十进制转二进制

如果十进制数字比较小,也可以直接凑出来

二进制值111111
权重2^52^42^32^22^12^0
对应值32168421

比如说十进制数值25

25 = 16 + 8 + 1

因此25所对应的2进制表示为11001                

5、8进制和16进制

5.1 八进制的介绍

  • 8进制满8进1
  • 8进制的数字每一位都是由0~7的数字组成
  • 8进制在计算机里表达要在前面加上0

8进制数字17 转10进制的值

8进制数字17的权重理解
8进制的位1710进制的值
权重8^18^0
权重的值81
求和1*87*115

5.2 十六进制的介绍

  • 16进制满16进1
  • 16进制的数字每一位都是由0~9,a~f 组成 
  • 16进制的数字在计算机表达上要在前面加上 0x

注意:之所以使用a~f来表示10~15是为了区分方便。

 十六进制数字1f 转10进制的值

16进制数字1f 的权重理解
16进制的位1f10进制值
权重16^116^0
权重的值161
求和1*16f*131

6、2进制转8进制和16进制

6.1 二进制转八进制

8进制的数字每一位都是0~7之间的,0~7的数字,各自写成2进制,最多3个2进制位就可以表示了,比如7的二进制是111,所以2进制在转8进制的时候,从2进制序列中右边低位开始向左每3个2进制位换算一个8进制位,剩余不够3个2进制位的直接换算。

如:2进制的01101011,换成8进制:0153,0开头的数字,会被当成8进制。

2进制0     11     0     10     1     1
8进制153

八进制每一位用2进制表示:
 

8进制数字2进制表示
0000
1001
2010
3011
4100
5101
6110
7111

6.2 二进制转十六进制

16进制的数字每一位都是0~9.a~f之间的,0~9.a~f的数字,各自写成2进制,最多4个2进制位就可以表示了,比如f的二进制是1111,所以2进制在转16进制的时候,从2进制序列中右边低位开始向左每4个2进制位换算一个8进制位,剩余不够4个2进制位的直接换算。

如:2进制的01101011,换成16进制:0x6b,16进制表示的时候前面假0x

2进制0    1    1    01    0    1    1
16进制6b

16进制每一位用2进制表示

16进制2进制
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
a1010
b1011
c1100
d1101
e1110
f1111

7、8进制和16进制转2进制

需要借助10进制来间接转换

比如说想把8进制数字017转换为2进制数字,需要先将017转化为10进制数字15,然后15在转换成2进制数字:1111.十六进制亦是如此。


8、结语:

亲爱的读者朋友们,本篇文章到这里就结束啦!相信通过这篇文章,您已经对它们有了清晰的认知,在下一篇文章中,小编会更新C语言中的一些操作符,还会继续使用到本篇所提及的知识点,所以如果有所遗忘,一定要来看一看哟!!!

  • 51
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 44
    评论
1. 进制转进制:将进制数从右往左每一位对应的权值分别为1、2、4、8、16、32……,将每一位的权值与该位的数值相乘,然后将所有乘积相加即得到对应的进制数。 例如,进制数1011转换进制数的计算过程为:1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11。 2. 进制转进制:使用“除2取余”的方法,将进制数不断除以2,将每次得到的余数倒序排列即为对应的进制数。 例如,将进制数27转换进制数的计算过程为:27 ÷ 2 = 13 余 1,13 ÷ 2 = 6 余 1,6 ÷ 2 = 3 余 0,3 ÷ 2 = 1 余 1,1 ÷ 2 = 0 余 1。将余数倒序排列,得到的进制数为11011。 3. 进制转进制:将进制数从右往左每三位分组,对每组进制数分别赋予权值1、2、4,将每组进制数的权值与数值相乘,然后将所有的乘积相加即得到对应的进制数。 例如,进制数1101101转换进制数的计算过程为:001 101 101,分别对应的权值为1、2、4,因此,得到的进制数为155。 4. 进制转进制:将进制数的每一位转换为三位进制数,然后将这些进制数连接起来即可得到对应的进制数。 例如,将进制数155转换进制数的计算过程为:1对应的进制数为001,5对应的进制数为101,5对应的进制数也为101,因此,得到的进制数为1101101。 5. 进制转十六进制:将进制数从右往左每四位分组,对每组进制数分别赋予权值1、2、4、8,将每组进制数的权值与数值相乘,然后将所有的乘积相加即得到对应的十六进制数。 例如,进制数1101101转换十六进制数的计算过程为:0110 1101,分别对应的权值为1、2、4、8和1、16,因此,得到的十六进制数为6D。 6. 十六进制进制:将十六进制数的每一位转换为四位进制数,然后将这些进制数连接起来即可得到对应的进制数。 例如,将十六进制数6D转换进制数的计算过程为:6对应的进制数为0110,D对应的进制数为1101,因此,得到的进制数为01101101。
评论 44
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值