一、基本概念
日常生活中通常采用十进制来描述整数数据,逢十进一,权重是:100、101、102、……
计算机中采用二进制来描述整数数据,逢二进一,权重是:20、21、22、……
为了简化二进制的表示形式,通常转化成八进制和十六进制加以描述。
十进制和二进制之间的转换
a)、正十进制转换为二进制的方式
方法一:除二取余法,让十进制整数不断的除以2取出余数,直到商为0是将余数逆序排列。
方法二:拆分法,将十进制整数拆分为若干个二进制权重的和,有权重则在下面写1否则写0即可。
……28、27、26、25、24、23、22、21、20、 ,如果十进制数大于28,也就是128,则继续向上取29、210……,直到包括这个十进制数。
b)、正二进制转换为十进制的方式
加权法:让二进制的每个数乘以当前的权重在相加即可。
c)、负十进制转换成二进制的方式
先取负十进制的绝对值,在将绝对值转换为二进制,再进行按位取反加1即可。
d)负二进制转换成负十进制的方式(二进制前面0表示正数,1表示负数)
先进制按位取反在加1,然后转换为十进制整数后添加负号即可。
总结:
在计算机中采用二进制序列中的最高位(最左边)代表符号位,使用1代表负数,0代表非负数
二进制和八进制之间的转换
a)、二进制转换为八进制的方式
将每三位二进制合并为一位八进制,并使用0作为前缀代表八进制。
b)、八进制转二进制的方式
将每一位八进制拆分为三位二进制,并使用0b作为前缀代表二进制(jdk1.7新特性);
二进制和十六进制之间的转换
a)、二进制转换为十六进制的方式
将每四位二进制合并为一位十六进制,并使用0x作为前缀代表十六进制
b)、十六进制转换为二进制的方式
将每一位十六进制拆分为四位二进制,并使用0b作为前缀代表二进制