二进制、十进制、十六进制之间的转换

1.常用进制

  • 二进制

二进制,逢二进一,数字中只有 0 和 1

例如,数数,二进制的数法是:0,1 接着 10,11 接着 100,101,110,111 接着 1000,1001 … 1111 以此类推。

  • 十进制

十进制,逢十进一,数字中含有 0,1,2,3,4,5,6,7,8,9

十进制是我们从小就开始学习的,应该没有人不会吧,从1数到100会把,哈哈。

  • 十六进制

十六进制,逢十六进一。一般用数字0到9和字母A到F(或a到f)表示,其中A ~ F表示10 ~ 15。

那么数数的数法也同理,从 0 ~ F 接着 10 … 1F … FF 接着 100 … FFF 以此类推。

2.进制间的转换

2.1.二进制与十进制

1.十进制转二进制

十进制转二进制,把要转换的数,整数部分,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到转换结果。简记为“除2取余,倒序排列”。 而小数部分则为“乘2取整,正序排列”。如图,以十进制的6.625为例,三次相除得到余数分别为0、1、1,倒序排列为110,三次相乘得到整数为101,所以十进制6.625转换为二进制为110.101。

整数部分:
在这里插入图片描述
小数部分:0.6252=1.25 取整数为1
0.25
2=0.5 取整数为0
0.5*2= 1 取整数为1

2.二进制转十进制

二进制转十进制,从右到左用二进制位上的每个数去乘以2的相应次方,例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有乘得的结果相加,得到的结果就是转换后的十进制。以二进制数0110 0100转十进制为例:
在这里插入图片描述
得到的100就是二进制0110 0100转换十进制后的结果。

2.2.十六进制与十进制

1.十进制转十六进制

和十进制转二进制比较类似,上面为“除2取余,乘2取整”,现在为“除16取余,乘16取整”,我们拿150来举例。

150/16=9(余数为6)
9/16=0(余数为9)

整合为96,得到十六进制数。

2.十六进制转十进制

我们直接拿个例子来说吧,比如十六进制数96来举例(由右向左依次乘以16的n次幂,n从零开始),最后转为十进制为150。

9 * 16^1 + 6 * 16^0=150

2.3.二进制与十六进制

二进制与十六进制值对应关系表

二进制十六进制二进制十六进制二进制十六进制二进制十六进制
0000001004100081100C
0001101015100191101D
00102011061010A1110E
00113011171011B1111F

1.二进制转十六进制

首先将二进制数10100101从右至左每四位分成一段,不足四位的左边补0:1010 0101
然后将每段的数值分别查表替换,结果如下:

1010 —>A
0101 —>5

组合得到结果0xA5或0XA5(注意十六进制必须以0x或0X开头)。

2.十六进制转二进制

先将A5分成两位:A 5;

将每位查表写成二进制数:

A —>1010

5 —>0101

组合得到结果1010 0101。

2.4.小结

1.十进制转二进制、十六进制、n进制

十进制转n进制,把要转换的数,除以n,得到商和余数,将商继续除以n,直到商为0。最后将所有余数倒序排列,得到转换结果。

2.二进制、十六进制、n进制转十进制

n进制转十进制,从右到左用n进制位上的每个数去乘以n的相应次方,例如,将最右边第一位的数乘以n的0次方,第二位的数乘以n的1次方,第n位的数乘以n的n-1次方,然后把所有乘得的结果相加,得到的结果就是转换后的十进制。

3.八进制与十六进制之间转换

八进制与十六进制间转换可以通过先转换成二进制后再转换为相应进制来完成。

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值