进制之间的转换(二进制、八进制、十进制、十六进制)

目录

一、二进制转换

1、二进制转十进制

2、二进制转八进制

3、二进制转十六进制

二、十进制转换

1、十进制转二进制

2、十进制转八进制

3、十进制转十六进制

三、八进制转换

1、八进制转十进制

2、八进制转二进制

2、八进制转十六进制

四、十六进制转换

1、十六进制转十进制

2、十六进制转二进制

3、十六进制转八进制


理解:

十进制:
有10个基数:0 ~~ 9 ,逢十进一
二进制:
有2 个基数:0 ~~ 1 ,逢二进一
八进制:
有8个基数:0 ~~ 7 ,逢八进一
十六进制:
有16个基数:0 ~~ 9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一。

一、二进制转换

1、二进制转十进制

从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。

比如第2位就是2的(2-1)次方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。

2(1-1)代表2的0次方,就是1;其他类推。如:

                                                         

二进制:00001011

2(8-1)

2(7-1)

2(6-1)

2(5-1)

2(4-1)

2(3-1)

2(2-1)

2(1-1)

×

×

×

×

×

×

×

×

二进制

0

0

0

0

1

0

1

1

结果

0

0

0

0

8

0

2

1

结果相加:0 + 0 + 0 + 0 + 8 + 0 + 2 + 1 = 11

十进制:11

增强理解:

二进制:01010111

2(8-1)

2(7-1)

2(6-1)

2(5-1)

2(4-1)

2(3-1)

2(2-1)

2(1-1)

×

×

×

×

×

×

×

×

二进制

0

1

0

1

0

1

1

1

结果

0

64

0

16

0

4

2

1

结果相加:0 + 64 + 0 + 16+ 0 + 4 + 2 + 1 = 87

十进制:87


2、二进制转八进制

第一步分组,一组三个,不足的后面补0 如:

二进制:00001011 -> 000 001 011

第二步每组先转为十进制

换算:011 先转为十进制 -> 3

           001 先转为十进制 -> 1

           000 先转为十进制 -> 0

第三步 把换算的结果拼接起来

结果:拼起来 -> 0 1 3        0可以去掉 所以结果为 13

增强理解:

二进制:01010111

第一步分组,一组三个,不足的后面补0 如:

二进制:01010111 -> 001 010 111

第二步每组先转为十进制

换算:111 先转为十进制 -> 7

           010 先转为十进制 -> 2

           001 先转为十进制 -> 1

第三步 把换算的结果拼接起来 1 2 7

结果:127


3、二进制转十六进制

第一步:分组,一组四个,不足的后面补0 如:

二进制:00001011 ->  0000 1011

第二步:每组先转为十进制

换算:1011 转为十进制 -> 11

           0000 转为十进制 -> 0

第三步 把换算的结果拼接起来

结果:拼起来 -> 0 11        因十六进制用B表示11,0可以去掉,所以结果为 B

增强理解:

二进制:01010111

第一步分组,一组四个,不足的后面补0 如:

二进制:01010111 -> 0101 0111

第二步每组先转为十进制

换算:0111 先转为十进制 -> 7

           0101 先转为十进制 -> 5

第三步 把换算的结果拼接起来 5 7

结果:57


二、十进制转换

1、十进制转二进制

方法1:除2取余法

十进制:16

第一步:16 / 2 = 8 ······ 0

                8 / 2 = 4 ······ 0

                4 / 2 = 2 ······ 0

                2 / 2 = 1 ······ 0

                1 / 2 = 0 ······ 1        

第二步:从下往上拼接 -> 1 0 0 0 0

所以二进制为:10000

增强理解:

十进制:21

第一步:21 / 2 = 10 ······ 1

                10 / 2 = 5 ······ 0

                5 / 2 = 2 ······ 1

                2 / 2 = 1 ······ 0

                1 / 2 = 0 ······ 1        

第二步:从下往上拼接 -> 1 0 1 0 1

所以二进制为:10101


2、十进制转八进制

方法1:除8取余法

十进制:16

第一步:16 / 8 = 2 ······ 0

                2 / 8 = 0 ······ 2

第二步:从下往上拼接 -> 2 0

所以八进制为:20

增强理解:

十进制:21

第一步:21 / 8= 2 ······ 5

                2 / 8 = 0 ······ 2

第二步:从下往上拼接 -> 2 5

所以八进制为:25


3、十进制转十六进制

方法1:除16取余法

十进制:36

第一步:36 / 16 = 2 ······ 4

                2 / 16 = 0 ······ 2

第二步:从下往上拼接 -> 2 4

所以八进制为:24

增强理解:

十进制:72

第一步:72 / 16= 4 ······ 8

                4 / 16 = 0 ······ 4

第二步:从下往上拼接 -> 4 8

所以八进制为:48


三、八进制转换

1、八进制转十进制

从最低位(最右)算起,位上的数字乘以本位的权重,权重就是8的第几位的位数减一次方。

比如第2位就是8的(2-1)次方,就是8;把所有的值加起来。

8(1-1)代表2的0次方,就是1;其他类推。如:

八进制:24

                          8(2-1)

                        8(1-1)

×

×

八进制

2

4

结果

16

4

结果相加:16 + 4 = 20

所以十进制为:20

增强理解:

八进制:76

                          8(2-1)

                        8(1-1)

×

×

八进制

7

6

结果

56

6

结果相加:56 + 6 = 62

所以十进制为:62


2、八进制转二进制

方法1:

八进制:24

第一步:先把八进制每个数看成一个十进制 就是把2和4拆开算 如:

                把4当成十进制看,然后利用除2取余法换算成二进制 -> 100

                把2当成十进制看,然后利用除2取余法换算成二进制 -> 10

第二步:拼接:10 100

所以二进制为:10100

增强理解:

八进制:76

第一步:先把八进制每个数看成一个十进制 就是把7和6拆开算 如:

                把6当成十进制看,然后利用除2取余法换算成二进制 -> 110

                把7当成十进制看,然后利用除2取余法换算成二进制 -> 111

第二步:拼接:111 110

所以二进制为:111110


2、八进制转十六进制

方法1:

八进制:24

第一步:先把八进制转换为十进制

                24 -> 20

第二步:把得到的十进制利用除16取余法算出十六进制

                20 / 16 = 1 ······ 4

                1 / 16 = 0 ······ 1

第三步:拼接 1 4

所以十六进制为:14

增强理解:

八进制:76

第一步:先把八进制转换为十进制

                76 -> 62

第二步:把得到的十进制利用除16取余法算出十六进制

                62 / 16 = 3 ······ 14

                3 / 16 = 0 ······ 3

第三步:拼接 3 14

所以十六进制为:3E (十六进制里把E当成14)


四、十六进制转换

1、十六进制转十进制

从最低位(最右)算起,位上的数字乘以本位的权重,权重就是8的第几位的位数减一次方。

比如第2位就是16的(2-1)次方,就是16;把所有的值加起来。

8(1-1)代表2的0次方,就是1;其他类推。如:

十六进制:6B

                          16(2-1)

                        16(1-1)

×

×

十六进制

6

11(B)

结果

96

11

结果相加:96 + 11 = 107

所以十六进制为:107

增强理解:

十六进制:8C

                          16(2-1)

                        16(1-1)

×

×

十六进制

8

12(C)

结果

128

12

结果相加:128 + 12 = 140

所以十六进制为:140


2、十六进制转二进制

方法1:

十六进制:6B

注意:因十六进制转二进制每组是4位,不足的后面要补0

第一步:先把十六进制分别拆开(6和B(11))后,把拆开的数看成十进制来计算 如

                B(11) 看成十进制后利用除2取余法转换成二进制 -> 1011

                6 看成十进制后利用除2取余法转换成二进制 -> 0110

第二步:拼接起来 0110 1011

所以二进制为:01101011

增强理解:

十六进制:8C

注意:因十六进制转二进制每组是4位,不足的后面要补0

第一步:先把十六进制分别拆开(8和C(12))后,把拆开的数看成十进制来计算 如

                C(12) 看成十进制后利用除2取余法转换成二进制 -> 1100

                8 看成十进制后利用除2取余法转换成二进制 -> 1000

第二步:拼接起来 1000 1100

所以二进制为:10001100


3、十六进制转八进制

方法1:

十六进制:6B

第一步:先把十六进制分别拆开(6和B(11))后,把拆开的数看成十进制来计算 如        

                B(11) 看成十进制后利用除2取余法转换成二进制 -> 1011

                6 看成十进制后利用除2取余法转换成二进制 -> 0110

第二步:再把二进制拼接起来后分组 如

                01101011 -> 001 101 011

第三步:把分组后的二进制转换为十进制

                011 -> 3

                101 -> 5

                001 -> 1

第四步:拼接起来 1 5 3

所以八进制为:153

增强理解:

十六进制:8C

第一步:先把十六进制分别拆开(8和C(12))后,把拆开的数看成十进制来计算 如        

                C(12) 看成十进制后利用除2取余法转换成二进制 -> 1100

                8 看成十进制后利用除2取余法转换成二进制 -> 1000

第二步:再把二进制拼接起来后分组 如

                10001100 -> 010 001 100

第三步:把分组后的二进制转换为十进制

                100 -> 4

                001 -> 1

                010 -> 2

第四步:拼接起来 2 1 4

所以八进制为:214

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值