侧移与乘法
a = a * 4; ==> a = a << 2;
右移与除法
b = b / 4; ==> b = b >> 2;
引申1:
a = a * 9; ==> a = (a << 3) + a; // a = 2^3 * a + a;
a = a * 7; ==> a = (a << 3) - a; // a = 2^3 * a - a;
引申2:
十六进制数左移一位,就是乘以16(相当于移4bit)
十进制数左移一位,就是乘以10
X进制的数左移一位,就是乘以X
注意:double, float,long double,bool是不可以移位的。
其他的无论正数还是负数都可以移位