逻辑左移

学习逻辑左移。

问题

因为困惑太多,所以直接到网上去问了:

  1. sf
  2. v2ex

网友分析很到位,官方文档也贴出来了。

总结

  1. 在运行时,移位操作是以左操作数的二进制补码进行执行的,所以运算完毕后需要将其结果转换为原码才能知晓其具体数值,并且移位操作是不区分符号位和数值位的,统统都需要移动(所以正数逻辑左移可能会变成负数,负数逻辑左移可能会变成正数);
  2. 在运行时,右操作数是右操作数和掩码逐位相与的结果;