进制的转换(十进制与二、八、十六进制的互换和八、十六进制与二进制的互换,包括小数的转换)

本文详细介绍了十进制与二、八、十六进制之间的转换方法,包括整数和小数部分的转换。通过连续除法和乘法,可以实现不同进制间的相互转换。此外,还阐述了二、八、十六进制与二进制的直接转换,以及如何通过分位进行转换。这些转换对于计算机科学和信息技术领域至关重要。
摘要由CSDN通过智能技术生成

提示

        二进制         0,1

        八进制         0,1,2,3,4,5,6,7

        十进制          0,1,2,3,4,5,6,7,8,9

        十六进制          0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

注意

        十六进制中10~15是用字母来表示的,且字母可为大小写,还可以混用。例如十六进制中的10,可以用A或a来表示;1011可以用AB或Ab来表示。

现在正式的话题来了,看下面

一、十进制与二、八、十六进制的互换

1、十进制->八进制

用8连续十进制数整数部分,直到商为0,逆序排列余数即可得到

用8连续十进制数小数部分 ,直到的小数为0或达到所要求的精度为止正序排列积的整数部分即可得

举例

假设十进制的一个数为83.12

        83÷8=10        余数为3

        10÷8=1          余数为2

        1÷8=0            余数为1

        0.12*8=0.96           整数部分为0         小数部分为0.96

        0.96*8=7.68          整数部分为7         小数部分为0.68

        0.68*8=5.44          整数部分为5        小数部分为0.44

        0.44*8=3.52          整数部分为3       小数部分为0.52

        .

        .

        .

        此处省略,大家可以自己进行接下来的运算,因为举例,精度就短些。

(十)83.12=(八)123.0753

2、十进制->十六进制

用16连续十进制数整数部分,直到商为0,逆序排列余数即可得到

用16连续十进制数小数部分 ,直到的小数为0或达到所要求的精度为止正序排列积的整数部分即可得

举例

假设十进制的一个数为299.12

299÷16= 18               余数为B(11)

18÷16=1                    余数为2

1 ÷16=0                     余数为1

 0.12*16=1.92          整数部分为 1       小数部分为0.92

 0.92*16=7.68          整数部分为E(14)        小数部分为0.72

 0.72*16=5.44          整数部分为B(11)        小数部分为0.52

.

.

.

   (十)299.12=(十六)12b.1eb

3、十进制->二进制

用2连续十进制数整数部分,直到商为0,逆序排列余数即可得到

用2连续十进制数小数部分 ,直到的小数为0或达到所要求的精度为止正序排列积的整数部分即可得

举例

假设十进制的一个数为3.25

3÷2= 1                     余数为1

1 ÷2=0                     余数为1

 0.25*2=0.5         整数部分为 0      小数部分为0.5

 0.5*2=1               整数部分为1       小数部分为0

(十)299.12=(二)11.01

总结              

          其实十进制转二、八、十六进制,大致是一样的,同样的二、八、十六进制转十进制也是这样的

4、二、八、十六进制->十进制

把二进制数(或八进制或十六进制数)按位权形式展开多项式和的形式,求其最后的和

举例

假设二进制数为1111

1*2的三次方 等于8

1*2的二次方 等于4

1*2的一次方 等于2

1*2的零次方 等于1

8+4+2+1=15

即(二)1111=(十)15

注意        最大N此方为总的位数-1,此后次方依次递减,直到为0次方。如二进制1111,最大N次方为        4-1=3,此后依次递减,最后为0次方。八进制、十六进制也是如此

假设八进制数为123

1*8的二次方 等于64

2*8的一次方 等于16

3*8的零次方 等于3

64+16+3=83

即(八)123=(十)83

假设十六进制数为12B

1*16的二次方 等于256

2*16的一次方 等于32

11*16的零次方 等于11

256+32+11=299

即(十六)12B=(十)299

二、八、十六进制与二进制的互换

1、间接法

把二进制转为十进制再到八进制或十六进制,大家可以看我上面的进制的转换,自己试试。

2、直接法

定理1:将三位的二进制转换成一位八进制,相反的,将一位八进制转三位的二进制;
定理2:将四位的二进制转换成一位十六进制,相反的,将一位十六进制转四位二进制
定理3:分位时如位数不够,整数部分在最左边补0,小数部分在最右边补0;

举例

二进制转八进制、十六进制

        假设二进制数为1011001.1101011

        进行分位        010 |101.101|010           |为分隔符

        剩下的就跟二进制转十进制一样

        把每三位看为整体,计算出值,最后连接就行

        如010

        0*2的二次方 等于0

        1*2的一次方 等于2

        0*2的零次方 等于0

        因此 010=2

        同样计算出101(值为5),最后进行连接

(二)10101.10101 =  010 |101.101|010 =(八) 25.52

同样,只是把每四位看为整体,计算出值,最后连接就行
(
二)11011011.11011111 =1101|1011.1101|1111  = (十六)DB.DF

而八进制、十六进制转二进制,反过来就行


(十六)D|B.D|F=1101|1011.1101|1111  =(二)11011011.11011111 

总结     

  八为2的三次方,因此需二进制为3位;十六为2的四次方,因此需二进制为4位,所以32进制就应该需二进制为5位,即N进制中,N为2的x次方,该进制就需要二进制x位

如有错误,请指出

如有侵权,请联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heroisppp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值