进制转化的那些事

文章详细介绍了二进制、八进制、十进制和十六进制之间的转换方法,包括不带小数点和带小数点的转换。对于二进制和十进制,提到了除2取余,逆序排列法,以及小数部分的乘2取整策略。而对于二进制与十六进制的转换,重点讲解了取四合一法,并强调了位数不足时的补位处理。
摘要由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,B,C,D,E,F这六个英文字母(不区分大小写)组成

让我们来看看这些进制之间是如何转化的

一、二进制和十进制相互转化

  1. 二进制转化为十进制

从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。

不带小数点的最右边的次方为0

比如:二进制1010中从右到左次方依次为0,1,2,3。然后再用二进制的每个数乘以相应次方并相加

1010(二进制)=10(十进制)

带小数的二进制转化为十进制要先把整数部分和小数部分分开。整数部分按照不带小数的二进制计算,小数部分和整数部分的进制转化本质相同,都是二进制数乘2的次方相加,只不过小数点之后的次方从左到右依次为-1,-2,-3…。最后把整数部分和小数部分相加。

比如二进制1010.1010中二进制数对应的次方数

标上对应次方数,用二进制的每个数乘以相应次方并相加得

至此,二进制转化为十进制已全部讲解完毕

接下来让我们继续看看十进制转化为二进制是如何操作的吧

2.首先还是不带小数的十进制转化

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

比如11(十进制)= 1011(二进制)

然后就是带小数的十进制转化

由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

整数部分已经讲过,小数部分的转化方法如下

十进制的小数转换为二进制的小数,主要是十进制小数部分乘以2,取整数部分(0或1)依次从左往右放在二进制小数点后,直至十进制小数点后为0。例如十进制的0.125,要转换为二进制的小数。0.125x2=0.25中0为十进制的整数部分,把它拿出来放在二进制小数点的后面,然后在0.25x2=0.5中0为十进制的整数部分,继续放在.0后面,然后再0.5x2=1.0,其中1为十进制的整数部分,把它放在.00后面,十进制的小数部分就变成了0.0(如果小数部分乘2之后超过1,则把1拿出来,之后1则变为0,如0.75x2=1.5,把1拿出之后,就变成0.5,然后继续0.5x2=1.0,把1拿出之后,就变成0.0)当小数部分变为0.0,此时恭喜你完成十进制的小数转换,接下来就简单了,直接把整数部分和小数部分合并(注意是合并并不是相加),就完成了带小数点的十进制转化为二进制的任务了。

二、二进制和十六进制的相互转化

  1. 二进制转化为十六进制(不带小数点)

方法:取四合一法,即从二进制数中每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,得到的数字就是我们所求的十六进制数。

比如1111 1111 1111 1111(二进制)= f f f f (十六进制)

二进制转化为十六进制(带小数点)

把小数部分和整数部分分别做转化,然后直接合并,小数点的位置不变

废话不多说,直接看例子

有二进制数1010.1001,想要转换为十六进制,先把整数部分和小数部分分开,其中整数部分按四位为一位,算出1010(B)= A(H),小数部分也是按四位为一位的运算规则,1001(B)= 9(H),然后直接合并,小数点的位置不变,为A.9(H)。

接下来就是十六进制转化为二进制了,其实就是把上面的反过来,直接看例子,

有十六进制数4.5,其中4(H)= 0100(B),5(H)= 0101(B),直接合并,小数点位置不变,为

0100.0101,值得说明的是,若遇到位数不够的,则需要进行补位处理,整数部分在最左边进行补零,小数部分在最右边进行补零,比如111.001,进行十六进制的转换,对于整数部分,由于111只有三位,所以要在最左边进行补零,补为0111,就等于7(H),对于小数部分,001不够四位,则在最右边进行补零,补为0010,就等于2(H),最后进行合并,小数点位置不变,7.2(H)。

接下来继续看看二进制和八进制的转化关系吧,由于2的3次方等于8的1次方,所以一个八进制位就等于3个二进制位,知道这个规则之后,就按照二进制转化为十六进制的操作进行处理就可以了,只是要记得此时不是四位,而是三位。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

穿睡衣的男孩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值