一、原码反码补码
1、二进制的最高位是符号位:0表示正数,1表示负数
2、正数的原码、反码、补码都是一样的
3、负数的反码 = 它的原码符号位不变,其他位取反(1-0,0-1)
4、负数的补码=它的反码+1,负数的反码 = 它的补码-1
5、0的反码,补码都是0
6、java没有无符号数,换言之,java中的数都是有符号的
7、在计算机运算的时候,都是以补码的方式来运算的
8、当我们看运算结果的时候,要看它的原码(重点)
二、按位运算
按位与 & :两位全为1,结果为1,否则为0
按位或 | :有一位为1,结果为1,否则为0
按位异或 ^ :一位为1一位为0,结果为1,否则为0
按位取反 ~ :1-0 , 0-1
位运算符
按位运算符>> << >>>运算规则
1、算术右移 >>:低位溢出,高位不变,并用符号位补溢出高位。
例:int a = 4 >> 2 ; a = 1 ;
右移相当于:4/2/2 =1
2、算数左移 <<:符号位不变,低位补0
例:int a = 4 << 2 ; a = 1 ;
右移相当于:4
2
2 =16
3、>>> 逻辑右移,无符号右移:低位溢出,高位补0 (老师没讲)
4、没有 <<< 这个
版权声明:本文为weixin_58561766原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。