进制介绍
1、二进制:0,1,满2进1.以0b或0B开头。
2、十进制:0-9,满10进1.
3、八进制:0-7,满8进1.以数字0开头表示
4、十六进制:0-9及A(10)-F(15),满16进1.以0x或0X开头表示。此处的A-F不区分大小写。
举例说明
int n1 = 0b1010; //二进制
int n2 = 1010; //十进制
int n3 = 01010; //八进制
int n4 = 0x10101; //十六进制
进制的转换
1、二进制转十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
示范:将0b1011转成十进制的数
0b1011=1 * 2(1-1)次方 + 1 * 2的(2-1)次方 + 0 * 2的(3-1)次方 + 1 * 2的(4-1)次方 = 1 + 2 + 0 + 8 = 11
2、八进制转十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和
示范:将0234转成十进制数
0234 = 4 * 8^0 +3 * 8^1+2 * 8^2=4 + 24 + 128=156
3、十六进制转十进制
规则:从最低位(右边)开始。将每个位置的数提取出来
,乘以16的(位数-1)次方,然后求和。
示范:及那个0x23A转成十进制的数
0x23A = 10 * 16^0 + 3 * 16^1 + 2 * 16^2=10+48+512=570
4、十进制转二进制
规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
示范:将34转成二进制
5、十进制转八进制
规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制数
6、十进制转十六进制
规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制数
7、二进制转八进制
规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。
示范:将0b11010101转成八进制数
0b11010101=0b11(3)010(2)101(5)=325
8、二进制转十六进制
规则:从低位开始,将二进制数没四位一组,转成对应的十六进制数即可。
示范:将0x10011101转成十六进制数
0x10011101=0x1001(9)1101(D)=9D
原码 反码 补码
1、最高制位是符号位:0表示正数,1表示负数
2、正数的原码,反码,补码都一样(三码合一)
3、负数的反码=它的原码符号位不变,其他位取反(0–>1,1–>0)
4、负数的补码=它的反码+1,负数的反码=负数的补码-1
5、0的反码,补码都是0
6、Java没有无符号数,Java中的数都是有符号的
7、在计算机运算的时候,都是以补码的方式来运算的
8、当我们看运算结果的时候,要看它的原码(!!)