进制就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。同一数值可以在不同进制之间的转换,具体转换方式如下:
一、二进制与十进制的转换
(1)二进制转十进制
按权相加法,即将二进制每位上的数乘以权(N进制,整数部分第i位的权为N(i-1),小数部分第i位权为N-i),然后相加的和即是十进制。
如将二进制数101.101转换为十进制,具体示例如下:
1*22 + 0*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3 = 5.625
上述表达式可以简写,具体示例如下:
1*22 + 1*20 + 1*2-1 + 1*2-3 = 5.625
(2)十进制转二进制
十进制转二进制要分为整数部分和小数部分。
① 整数部分
除2取余法,即每次将整数部分除以2,余数为权位上的数,商继续除以2,直到商为0为止,余数逆序读取即是二进制值。
如将十进制数10转换为二进制,转换方法,如图所示。
在上图所示中余数逆序读取的值为1010,即是十进制10的二进制值。
② 小数部分
乘2取整法,即将小数部分乘以2,取整数部分,剩余小数部分继续乘以2,直到小数部分为0为止,整数部分顺序读取即是二进制值。
如将十进制值0.125转换为二进制,转换方式,如图所示。
在上图中整数顺序读取值为0.001,即是十进制0.125的二进制值。
二、二进制与八进制的转换
数学关系23=8、24=16,而八进制和十六进制由此关系衍生而来的,即用三位二进制表示一个八进制,用四位二进制表示一个十六进制。
(1)二进制转八进制
取三合一法,即从二进制的分界点(小数点),向左(向右)每三位取成一位,将这三位二进制按权相加,得到的数就是一位八进制数,然后按顺序进行排列,小数点的位置不变,得到的数即是八进制数。如果无法凑足三位,则补0,凑足三位。
如将二进制数1101.1转换为八进制,转换方式,如图所示。
在上图,先从小数点开始每三位取成一位,不足补0,将三位二进制按权相加,所得数按顺序读取值为15.4,即是二进制1101.1的八进制值。
(2)八进制转二进制
取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。
如将八进制数63.2转换为二进制,转换方式,如图所示。
二进制与八进制转换过程中的数值的对应关系,如表所示。
三、二进制与十六进制的转换
和二进制与八进制转换类似,只不过是将十六进制一位与二进制四位相转换。
(1)二进制转十六进制
取四合一法,即从二进制的分界点(小数点),向左(向右)每四位取成一位,将这四位二进制按权相加,得到的数就是一位十六进制数,然后,按顺序进行排列,小数点的位置不变,得到的数即是十六进制数。如果无法凑足四位,则补0,凑足四位。
如将二进制数101011.101转换为十六进制,转换方式,如图所示。
在上图,先从小数点开始每四位取成一位,不足补0,将四位二进制按权相加,所得数按顺序读取值为2B.A,即是二进制101011.101的十六进制值。
(2)十六进制转二进制
取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。
如将十六进制数6E.2转换为二进制,转换方式,如图所示。
二进制与八进制转换过程中的数值的对应关系,如表所示。
四、八进制与十六进制的转换
不能直接转换,先将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。
五、八进制、十六进制与十进制的转换
(1)间接法,先将进制数转换为二进制,然后再将二进制转换为目标进制。
(2)直接法,和二进制与十进制的转换类似。
千锋java编程培训课程的授课模式采用全程面授,讲师成本虽高,但是效果却是显著的,和学员面对面沟通,了解到学员在学习过程中遇到的问题,动态地调整授课方式。及时有效地帮助学员解决疑难问题,提高学员的学习积极性。千锋官网每日更新最新Java基础知识内容,巩固日常学习中的基础技能。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱