一、基本概念
日常生活中通常采用十进制来描述整数数据,逢十进一,权重是:100、101、102、……

计算机中采用二进制来描述整数数据,逢二进一,权重是:20、21、22、……

为了简化二进制的表示形式,通常转化成八进制和十六进制加以描述。

十进制和二进制之间的转换

a)、十进制转换为二进制的方式

方法一:除二取余法,让十进制整数不断的除以2取出余数,直到商为0是将余数逆序排列。

二进制、十进制、八进制、十六进制转换方法_十六进制


方法二:拆分法,将十进制整数拆分为若干个二进制权重的和,有权重则在下面写1否则写0即可。

……28、27、26、25、24、23、22、21、20、 ,如果十进制数大于28,也就是128,则继续向上取29、210……,直到包括这个十进制数。

二进制、十进制、八进制、十六进制转换方法_八进制_02

b)、二进制转换为十进制的方式

加权法:让二进制的每个数乘以当前的权重在相加即可。

二进制、十进制、八进制、十六进制转换方法_八进制_03

c)、十进制转换成二进制的方式

先取负十进制的绝对值,在将绝对值转换为二进制,再进行按位取反加1即可。

二进制、十进制、八进制、十六进制转换方法_十六进制_04

d)二进制转换成负十进制的方式(二进制前面0表示正数,1表示负数)

先进制按位取反在加1,然后转换为十进制整数后添加负号即可。

二进制、十进制、八进制、十六进制转换方法_八进制_05

总结:
在计算机中采用二进制序列中的最高位(最左边)代表符号位,使用1代表负数,0代表非负数


二进制和八进制之间的转换

a)、二进制转换为八进制的方式

将每三位二进制合并为一位八进制,并使用0作为前缀代表八进制。

二进制、十进制、八进制、十六进制转换方法_八进制_06

b)、八进制转二进制的方式

将每一位八进制拆分为三位二进制,并使用0b作为前缀代表二进制(jdk1.7新特性);

二进制、十进制、八进制、十六进制转换方法_八进制_07

二进制和十六进制之间的转换

a)、二进制转换为十六进制的方式

将每四位二进制合并为一位十六进制,并使用0x作为前缀代表十六进制

二进制、十进制、八进制、十六进制转换方法_数据_08

b)、十六进制转换为二进制的方式

将每一位十六进制拆分为四位二进制,并使用0b作为前缀代表二进制

二进制、十进制、八进制、十六进制转换方法_八进制_09