十进制与二进制、八进制、十六进制间的转化

我们先来看一下概念。


一、概念

1、二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的,通常用0和1表示。

2、八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。
3、十进制(计数法)是以10为基础数字系统, 用0、1、2、3、4、5、6、7、8、9  这十个数来表示,是在世界上应用最广泛的进位制。

4、十六进制(简写为hex或下标16)在数字中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字

二、转化

1、十进制转二进制

原理:将十进制数字作为被除数,除数为2,做整除运算,得到余数和商,一直除到商为0为止,然后倒序取余数,得到的结果就是转换的对应二进制数字。

例子:十进制数字:11  转换为二进制为:1011

  转换过程如下图:

十进制转为二进制

2、二进制转十进制

原理:从二进制数字的右边第一个数字开始,每个数字乘以2的n次方,n从0开始依次递增1,然后将每个乘积相加,结果就是该二进制对应的十进制数字。

例子:二进制数字:1011010  转换为十进制为:90

  转换过程如下图:

二进制转为十进制

3、JAVA十进制与二进制、八进制、十六进制间的转化

十进制转二进制:Integer.toBinaryString(int i)
十进制转八进制:Integer.toOctalString(int i)
十进制转十六进制:Integer.toHexString(int i)

二进制转十进制:Integer.valueOf("0101",2).toString()
八进制转十进制:Integer.valueOf("401",8).toString()
十六进制转十进制:Integer.valueOf("FFFF",16).toString()


还有一个方法可将二进制、八进制、十六进制直接转换为十进制:
java.lang.Integer.parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。注意,这个方法,只能转化正数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值