千锋教育-做有情怀、有良心、有品质的IT职业教育机构

400-811-9990
当前位置:首页 > 关于学院 > 技术论坛  >  正文

Java编程基础学习之不同进制的转换方法

时间:2018年03月15日 14:44:20     来源:千锋教育 作者:千锋

   进制就是进位制,是人们规定的一种进位方法。 对于任何一种进制--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转换为二进制,转换方法,如图所示。

千锋.png

  在上图所示中余数逆序读取的值为1010,即是十进制10的二进制值。

  ② 小数部分

  乘2取整法,即将小数部分乘以2,取整数部分,剩余小数部分继续乘以2,直到小数部分为0为止,整数部分顺序读取即是二进制值。

  如将十进制值0.125转换为二进制,转换方式,如图所示。

千锋.png

  在上图中整数顺序读取值为0.001,即是十进制0.125的二进制值。

  二、二进制与八进制的转换

  数学关系23=8、24=16,而八进制和十六进制由此关系衍生而来的,即用三位二进制表示一个八进制,用四位二进制表示一个十六进制。

  (1)二进制转八进制

  取三合一法,即从二进制的分界点(小数点),向左(向右)每三位取成一位,将这三位二进制按权相加,得到的数就是一位八进制数,然后按顺序进行排列,小数点的位置不变,得到的数即是八进制数。如果无法凑足三位,则补0,凑足三位。

  如将二进制数1101.1转换为八进制,转换方式,如图所示。

千锋.png

  在上图,先从小数点开始每三位取成一位,不足补0,将三位二进制按权相加,所得数按顺序读取值为15.4,即是二进制1101.1的八进制值。

  (2)八进制转二进制

  取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。

  如将八进制数63.2转换为二进制,转换方式,如图所示。

千锋.png

  二进制与八进制转换过程中的数值的对应关系,如表所示。

千锋.png

  三、二进制与十六进制的转换

  和二进制与八进制转换类似,只不过是将十六进制一位与二进制四位相转换。

  (1)二进制转十六进制

  取四合一法,即从二进制的分界点(小数点),向左(向右)每四位取成一位,将这四位二进制按权相加,得到的数就是一位十六进制数,然后,按顺序进行排列,小数点的位置不变,得到的数即是十六进制数。如果无法凑足四位,则补0,凑足四位。

  如将二进制数101011.101转换为十六进制,转换方式,如图所示。

5.png

  在上图,先从小数点开始每四位取成一位,不足补0,将四位二进制按权相加,所得数按顺序读取值为2B.A,即是二进制101011.101的十六进制值。

  (2)十六进制转二进制

  取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

  如将十六进制数6E.2转换为二进制,转换方式,如图所示。

6.png

  二进制与八进制转换过程中的数值的对应关系,如表所示。

技术2.png

  四、八进制与十六进制的转换

  不能直接转换,先将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。

  五、八进制、十六进制与十进制的转换

  (1)间接法,先将进制数转换为二进制,然后再将二进制转换为目标进制。

  (2)直接法,和二进制与十进制的转换类似。

  千锋java编程培训课程的授课模式采用全程面授,讲师成本虽高,但是效果却是显著的,和学员面对面沟通,了解到学员在学习过程中遇到的问题,动态地调整授课方式。及时有效地帮助学员解决疑难问题,提高学员的学习积极性。千锋官网每日更新最新Java基础知识内容,巩固日常学习中的基础技能。

  

相关文章

无相关信息
  • 北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2层、南区服务楼2层
    咨询电话:400-186-9990 010-82790226-801
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、大数据开发培训、VR/AR混合现实培训、Python培训、Linux云计算培训、软件测试培训、Android培训、iOS培训、好程序员
  • 深圳西部硅谷校区地址:深圳市宝安区宝安大道5010号深圳西部硅谷A区B座605-619
    深圳大学城校区地址:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-33582485-801(硅谷校区)0755-86660670-801(大学城校区)
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android培训、iOS培训
  • 上海校区地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-56166283/56166279
    面授课程:全栈HTML5+培训、UI交互设计培训、JavaEE+云数据培训、Android课程培训、iOS课程培训、好程序员
  • 郑州校区地址:郑州市二七区航海中路60号海为科技园C区10层、12层
    咨询电话:0371-55191750 400-186-9990
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 广州校区地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-186-9990
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 大连校区地址:辽宁省大连市甘井子区软件园路2号东软信息学院B5座一楼
    咨询电话:0411-39026086 400-186-9990
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、UI交互设计培训、Android课程培训、iOS课程培训
  • 武汉校区地址:武汉市光谷大道61号智慧园21号楼2层
    咨询电话:027-65523826
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 成都校区地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    咨询电话:028-83178771
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 西安校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85260160
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训
  • 杭州校区地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 青岛校区地址:青岛市市北区龙城路卓越世纪中心3号楼8层
    咨询电话:0532-80911190 010-82790226-801
    面授课程:全栈HTML5+培训、UI交互设计培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 重庆校区地址:重庆市高新区科园一路2号大西洋国际12-1
    咨询电话:023-68883009
    面授课程:JavaEE+云数据课程培训
  • 长沙校区地址:湖南省长沙市岳麓区麓谷企业广场A2栋三单元306号
    咨询电话:400-186-9990
    面授课程:JavaEE+云数据课程培训
  • 哈尔滨校区地址:哈尔滨市松北区创新一路699号科技创新城19号楼五楼
    咨询电话:15663846969
    面授课程:全栈HTML5+培训
  • 千锋教育服务号

    了解千锋动态
    关注千锋教育服务号

  • 千锋教育移动站

    扫一扫快速进入
    千锋移动端页面

  • 千锋互联服务号

    扫码匿名提建议
    直达CEO信箱