java基础三 进制

------什么是进制呢?

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

例如一周有七天,可以看成七进制,一年有十二个月,可以看成十二进制

------各种进制的由来?

十进制的由来 
 十进制的由来是因为人类有十个手指 
二进制的由来
 其实二进制来源与中国,请看史料记载. 18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻(拼音读作yao)和阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。
八进制的由来
任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。 
十六进制的由来
对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。

注意:不同进制表现同一个数据的时候有这个特点:进制越大,表现形式越短

------不同进制数据的表现形式?

二进制的数据表现形式
由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
八进制的数据表现形式
由0,1,…7组成。以0开头
十进制的数据表现形式
由0,1,…9组成。整数默认是十进制的 
十六进制的数据表现形式
由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

------任意进制到十进制的转换原理?

系数:就是每一位上的数据。用N表示
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。用M表示
结果:把系数*基数的权次幂相加即可。结果就是N*(X的M次方)相加

比如:

十进制转为十进制

123=100+20+3=1*10的平方+2*10的一次方+3*10的0次方

二进制转为十进制

0b10=1*2的一次方+0*2的0次方=2

以此类推,任意进制转为十进制都是这个规则:把系数*基数的权次幂相加即可

------十进制转为任意进制原理?

除积倒取余

那么具体怎么做呢?举下面两个例子!


------我们发现这样的转换会有点麻烦,现在介绍一种快速转换法(叫做8421码)

8421码及特点
8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。

下面我们来看一下:

比如:11001100=4+8+64+128=204(是不是很快呀,只要找到对应位置的1所代表的值相加就可以)

再看一个:怎么将60快速转为8进制以及十六进制?

首先,求出60的二进制表现形式:111100

如果转为8进制,就将上面的二进制3位看成一个数,即分开为111 以及 100,这两个数的十进制分别为7和4,然后拼接74,求出他的八进制就是74

如果转为16进制,就将上面的二进制4位看成一个数,即分开为0011 以及 1100,这两个数的十进制分别为3和12,而12的十六进制是C,所以60的十六进制是3C




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值