Java 基础—进制—Five(必须知道)

进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制–X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

一、不同进制的数据组成

  1. 二进制
    -由0,1组成。以0b开头

  2. 八进制
    由0,1,…7组成。以0开头

  3. 十进制
    由0,1,…9组成。整数默认是十进制的

  4. 十六进制
    由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

首先来写一个Demo,看下数值为100在每个进制的输出的值

代码如下: 
public class Demo { 
	public static void main(String[] args) { 
		System.out.println(100); 		    //十进制 
		System.out.println(0b100); 	    	//二进制 
		System.out.println(0100);		    //八进制 
		System.out.println(0x100);          //十六进制 
	} 
} 

运行结果: 
100
4
64
256

这时候有人问我?
为什么在100前面加上0b结果是4呢?100前面加上0结果是64呢?100前面加上0x结果是256呢?不要着急,下面我来给你揭晓答案。

二、其他进制到十进制

  1. 二进制(100)————>十进制(4)

    100 = 12² + 02^1 + 0*2^1 = 4+0+0 = 4

  2. 八进制(100)————>十进制(64)

    100 = 18² + 08^1 + 0*8^0 = 64+0+0 = 64

  3. 十六进制(100)————>十进制(256)

    100 = 116² + 016^1 + 0*16^1=256+0+0=256

[一、]进制练习,得到下面数据的十进制值: 
0b10101 
=1*2^4 + 1*2^2 + 1*2^0 
=16 + 4 + 1 
=21 

0123 
=1*8^2 + 2*8^1 + 3*8^0 
=64 + 16 + 3 
=83 

0x3c 
=3*16^1 + c*16^0 
=48 + 12 
=60

三、十进制到其他进制(方法:除基取余,只到商为0,余数反转)

  1. 十进制(20)————>二进制(?)

  2. 首先我们来解释一下上面的方法怎么理解:

  3. 20为十进制,要转为二进制,我们一定要记住余数,因为它最后就是我们的想要的答案,首先用:20/2=10余0,10/2=5余0,5/2=2余1,2/2=1余0,1/2=0余1。

  4. 余数反转,结果是:10100

  5. 大家可以用上面二进制转十进制的方法来验证一下,1*24+1*2²=20

  6. 认真的看了上面的十进制到二进制,我们就可以很容易的推理出十进制到八进制、十六进制的方法了,我相信聪明的你可以做到的。

四、任意x进制到y进制的转换?(方法:用十进制做桥梁)

  1. x进制————>十进制

  2. 十进制————>y进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值