数据在计算机中以补码存储
移位运算符:<< 左移运算符
>> 右移运算符
一丶 << 左移运算符
移位规则:左边抛弃,右边补零
int num=10;
num<<1
00000000000000000000000000001010 num 在内存中的二进制
0 00000000000000000000000000010100 num左移一位产生的结果
num<<1 在num没有被赋值的情况下其值不变
num=num<<1其值发生变化
二丶>>右移运算符
移位规则:1.逻辑移位
左边用0补充,右边丢弃;
2.算术移位
左边用原该值的符号位填充,右边丢弃。
int num = -1;
11111111111111111111111111111111 num在内存中存储
逻辑右移
01111111111111111111111111111111 1
算术右移
11111111111111111111111111111111 1
!!!!!! 移位运算符的操作数不能为负数: num>>-1错误