JAVA基础前篇——进制篇

什么是进制?

进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 
十进制是逢十进一, 十六进制是逢十六进一, 二进制就是逢二进一,以此类推,x进制就是逢x进位。

十进制的由来

人类天然选择了十进制。
由于人类解剖学的特点,双手共有十根手指,故在人类自发采用的进位制中,十进制是使用最为普遍的一种。成语“屈指可数”某种意义上来说描述了一个简单计数的场景,而原始人类在需要计数的时候,首先想到的就是利用天然的算筹——手指来进行计数。
十进制编码几乎就是数值本身。
数值本身是一个数学上的抽象概念。经过长期的演化、融合、选择、淘汰,系统简便、功能全面的十进制计数法成为人类文化中主流的计数方法,经过基础教育的训练,大多数的人从小就掌握了十进制计数方法。盘中放了十个苹果,通过数苹果我们抽象出来“十”这一数值,它在我们的脑海中就以“10”这一十进制编码的形式存放和显示,而不是其它的形式。从这一角度来说,十进制编码几乎就是数值本身。
十进制的基数为10,数码由0-9组成,计数规律逢十进一。  --选自百度百科

二进制的由来

二进制是计算技术中广泛采用的一种数制。
二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。
当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

不同进制表现同一个数据的形式特点为:进制越大,表现形式越短
    目前我们常见的进位制有:二进制、八进制、十进制、十六进制,这些进制的由来,我们都能在网上了解到,就不在这里废话了,我们直接步入正题吧.

进制在java中的表达

 二进制的表达形式:以0b/0B开头,其余是有0、1组成;
 八进制的表达形式:以0开头,其余是有0-7组成;
 十六进制的表达形式:以0x/0X开头,其余是有0-9、a、b、c、d、e、f(字母大小写都可以)组成;

进制之间的普通转换

 A. 任意进制转换十进制
	a、首先了解一十进制之间的转换
	给定一个十进制的数字:12345
	12345 = 1*10000+2*1000+3*100+4*10+5*1
		  =	1 * 10 ^ 4 + 2 * 10 ^ 3 + 3 * 10 ^ 2 + 4 * 10 ^ 1  + 5 * 10 ^0
		  从这里我们可以得到一个规律:
		  1.系数:每一位的数据;
		  2.基数:X(x进制,那么基数就是x)
		  3.权:从0开始编号(从左到右)
		  4.其结果就是系数乘基数的权次幂,然后相加即可
 B. 十进制转换为任意进制
 		转换原理:除积倒取余
 		详情请看图片:

十进制转换为二进制

快速进制转换

 A、8421码及其特点
	 什么是8421码?
	 	8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。
	 	在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
	 	由于代码中从左到右每一位的0分别表示8,4,2,1,所以把这种代码叫做8421代码。每一位的1代表的十进制数称为这一位的权。
	 	8421码中的每一位的权是固定不变的。
B、二进制转换为十进制:一位一组;
	  二进制转换为八进制:三位一组;
	  二进制转换为十六进制:四位一组;
C、最后进行组合即可
详细请看图解析:

对8421码的理解如图:
在这里插入图片描述
接下来我们拿一个例子来实践一下:二进制数:111100
    A.二进制转换为十进制:0*2^0+0*2^1+1*2^2+1*2^2+1*2^3+1*2^4=0+0+1*4+1*8+1*16+1*32=60
    B.二进制转换为八进制:

a.先将二进制数从右到左,每三位为一组即分为111与100
b.然后将两组分别进行8421码进行计算,即1*2^0+1*2+1*4=7 与0+0+1*4=4
c.最后将两组进行组合,即为74

    C.二进制转换为十六进制:

a.先将二进制数从右到左,每司位为一组即分为11与1100
b.然后将两组分别进行8421码进行计算,即1*2^0+1*2=3 与0+0+1*4+1*8=12=c
c.最后将两组进行组合,即为3c

    D.十进制转换为二进制(十进制数为60):

从最高位进行比较,如需要转换的进制数大于那个数字时,则相减,然后将差与下一位进行比较,以此类推就可以得出结果数,即111100

第一次写,如有不足,请留言,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值