使用移位很容易把符號位變換了,而乘法不會。
比如a=0b1011 1110,就是-66。
如果用左移一位代替乘2,結果左移後
a=0b0111 1100=124,負數變正數了,符號位被移走了。
而實際上a*2=-132。所以用移位代替乘法時一定要注意符號位
使用移位很容易把符號位變換了,而乘法不會。
比如a=0b1011 1110,就是-66。
如果用左移一位代替乘2,結果左移後
a=0b0111 1100=124,負數變正數了,符號位被移走了。
而實際上a*2=-132。所以用移位代替乘法時一定要注意符號位