逻辑运算符 按位运算符 原码、反码、补码
1,逻辑运算符
逻辑与:&&
逻辑或:||
逻辑非:!
逻辑异或:^
2,按位运算符
按位与:&
按位或:|
按位取反:~
按位异或:^(相同时为0,不同时为1)
左移运算符:<<
如 x << y 就是将二进制的 x 每一位都往左移动 y 位,高位舍去,低位补 0 。
如 int a = 10; 其二进制为 a = 0001010 ,执行 a = a << 1 后,其二进制变为 a = 0010100,结果为 20。
右移运算符:>>
如 x >> y就是将二进制的 x 每一位都往右移动 y 位,高位补 0,低位舍去。
同理,如 int a = 10; 其二进制为 a = 0001010,执行 a = a >> 1后,其二进制变为 a= 0000101,结果为 5。
3,原码、反码、补码
原码:首位表示正负号,其余位表示数值。
反码:负数的反码符号位不变,其余的 0 变 1,1 变 0。正数的反码还是它本身。
补码:负数的补码符号位不变,其余的 0 变 1,1 变 0,最后再加1。正数的补码还是它本身。