文章目录
Java进制理解
一.常用的进制
-
在日常生活中采用十进制进行数据的描述,逢十进一,十进制权重(拳重)是:100、101、102…
-
在计算机底层采用0和1组成的二进制序列进行数据的描述,逢二进一,二进制的权重是:20、21、22…
-
二进制的最高位(最左边)用于代表符号位,若该位是0则表示非负数,若该位是1则表示负数
-
八进制和十六进制其实都是二进制的简写
二.进展之间的转换
1.正十进制转为二进制的方式
a.除2取余,使用十进制整数不断地除以2去除余数,直到商为0时将余数逆序排序
b.拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重的下面写1,否则写0
2.正二进制转换为十进制的方式
a.加权法,使用二进制中的每个数字乘以当前位的权重再累加起来。
3.负十进制转换为二进制的方式
a.先将十进制的绝对值转换为二进制,然后进行按位取反再加1。
负数的需要补码:按位取反(0变1,1变0),末尾再加1 。
4.负二进制转换为十进制的方式
5.单个字节表示的整数范围(重中之重)
在计算机中单个字节表示八位二进制位,其中最高位(最左边)代表符号位,
使用0代表非负数,使用1代表负数,具体表示的整数范围如下:
非负数表示范围:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
负数表示范围:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
单个字节表示的整数范围是:-2^7 ~ 2^7-1,也就是-128 ~ 127