如果在console中输入
1 << 32
你认为结果会是什么? 你认为结果是0? 恭喜你,错了。结果还是1
这里的以为操作,有效位只有(0-31),如果超过31,就会自动取余。也就是上面的代码就相当于下面:
1 << 0
如果想要移动32位(其实也就是清零了),那应该怎么办呢?使用下面这行代码:
1 << 31 << 1
这样就可以实现,左移32位的功能了。
如果在console中输入
1 << 32
你认为结果会是什么? 你认为结果是0? 恭喜你,错了。结果还是1
1 << 0
1 << 31 << 1