admin管理员组

文章数量:1794759

一篇博文带你了解java中的进制转换

一篇博文带你了解java中的进制转换

在我们学习之前,我们首先要知道什么是进制?进制是一种记数方式,用有限的符号表示无限的数值。 我们常见的进制有:二进制、八进制、十进制、十六进制、十二进制(一年有十二个月)、七进制(一周有七天)。 首先我们逐个认识: 二进制: 0和1组成,逢二进一,书写方式为:0b为开头; 八进制: 01234567组成,逢八进一,书写方式为:0为开头; 十进制: 0123456789组成,生活最普遍,逢十进一,直接写; 十六进制: 0123456789ABCDEF组成,逢十六进一,书写方式为:0x为开头;


进制的知识很容易掌握,难点都在进制间的转换,下面我们重点来用例子来讲解进制之间的相互转换; 十进制转二进制: 十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

十进制的9转成二进制为多少? 9(10)=?(2) 1001

二进制转十进制: 把二进制数按权展开、相加即得十进制数。

二进制的1010等于十进制的多少? 1010(2)=?(10) 0*2^0+1*2^1+0*2^2+1*2^3 个位*2的几次方+十位*2的几次方....依次进行 10

二进制转八进制 3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。

二进制的10010110等于八进制的多少? 010 010 110 010:0*2^2+1*2^1+0*2^0=2 110:1*2^2+1*2^1+0*2^0=6 2,2,6 226

八进制转二进制 八进制数通过除2取余法,从右到左排序,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

八进制的226等于二进制的多少? 226 2/2 1,0 6/2 0,1,1 010010110

二进制与十六进制 和二进制八进制之间转换的方式一样,只不过二转八是3位,十六进制是4位

10 010 1100 0001 0010 1100 1,2,12 12C 12C 1,2,12 0001 0010 1100

十进制转八进制与十进制转十六进制的方法(2种思路):

  • 都可以先把十进制的转成二进制,然后二进制转成八进制或者十六进制
  • 直接带入除8或者16取余,直到商为0为止;
十进制150转八进制 150/8 余数结果6,2,2 226 十进制150转十六进制 150/6 余数结果6,9 96

八进制和十六进制转十进制 和二进制一样,只是底数为8或16

226(8)-->?(10) 2*8^2+2*8^1+2*8^0 150 96(16)-->?(10) 9*16^1+6*16^0 150

十六进制与八进制之间的转换

  • 转成二进制,再进行转换
  • 转成十进制,再进行转换

其实进制之间的转换,我们可以只做了解,了解之间的转换。在平常的生活中,我们可以借助电脑的计算器转换成程序员视角来进行快速的计算。

  • 电脑点击左下角图标,展开功能,【搜索】【计算器】
  • 点击【计算器】左上角功能展开键,选择【程序员】 如图: 方框内为对应的进制:HEX:十六进制;DEC:十进制;OCT:八进制;BIN:二进制; 下面我们来展示一个流程:
  • 计算十六进制的96转成十进制为多少? 1.鼠标点击HEX,输入96; 2.鼠标点击DEC(也可以不点击) 显示区域则为十进制结果,不点则对应的名称后显示结果

    本文标签: 带你博文java