SAR,SHR,SAL,SHL的区别
SHL(Shift Left),SAL(Shift Arithmetic Left)
逻辑左移和算术左移,运行结果是一样的,都是数据往左移动,然后在右边补零,高位进CF;
SHR (Shift Right)
逻辑右移,数据往右移动,在左边补零。如1000 0000->0010 0000(逻辑右移两位)
SAR (Shift Arithmetic Right)
算术右移,比较特殊。他的最高位一直是不变的。如1000 0000算术右移7位后就成了1111 1111.
即:就SAR最高位保持不变,其它都补1