一篇博文带你了解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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值