Java学习03-进制学习

计算机中是以二进制来进行数据传递的,二进制分为二进制、八进制、十进制、十六进制

而他们之间如何进行转换呢,二进制作为元,其他进制都是经二进制进行换算的,所以无论什么进制之间的转换都是先转换为二进制,再由二进制转换为目标进制。

一、进制介绍

二进制:0-1,满2进1

八进制:0-7,满7进1,由3个二进制位为1个八进制位,例:二进制10101011  八进制010-101-011

十进制:0-9,满10进1

十六进制:0-9  A-F,满16进1,由4个二进制位为1个十六进制位,例:二进制10101011  八进制0000-1010-1011

 

 

二、进制转换

进制间的转换都是基于二进制进行的,故下面只记录二进制与其他进制间的转换。

1、十进制与二进制之间的转换

十进制6 -> 二进制110

计算过程:

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,

然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

6/2 =3---0

3/2 =1---0

1/2 =0---1

余数逆排序的110



二进制110 -> 十进制6

计算过程:

110 = 1*2(2)+1*2(1)+1*2(0) =4+2+0=6 

 

2、八进制与二进制间的转换

二进制1100101 -> 八进制145

计算过程:

将二进制三位一组进行分组,根据二进制转十进制的方法,算出每组的值

1100101 -> 001-100-101

-> 0*2(2)+0*2(1)+1*2(0)   1*2(2)+0*2(1)+0*2(0)  1*2(2)+0*2(1)+1*2(0)

-> 1     4    5

即八进制145

 

待更新

 

posted @ 2018-03-20 22:49  Alummox  阅读(314)  评论(0编辑  收藏  举报