移位操作符
<< 左移操作符
位移规则:对应数字的二进制数 左边抛弃、右边补0
>> 右移操作符
移位规则:
1. 逻辑右移:左边⽤0填充,右边丢弃
2. 算术右移:左边⽤原该值的符号位填充,右边丢弃
移位操作符的操作数只能是整数。
位操作符:&、|、^、~
&按位与
| 按位或
^ 按位异或 相同为0,不同为1 a^0=a a^a=0
~ 按位取反
原码、反码、补码
符号位都是⽤0表⽰“正”,⽤1表⽰“负”。
正整数的原、反、补码都相同。
负整数的三种表⽰⽅法各不相同:
原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。
反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。
补码:反码+1。
补码得到原码也是可以使⽤:取反,+1的操作。
对于整形来说:数据存放内存中其实存放的是补码。