移位与乘除法

侧移与乘法
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是不可以移位的。
其他的无论正数还是负数都可以移位 
posted @ 2015-11-17 20:50  luweimy  阅读(745)  评论(0编辑  收藏  举报