【发布时间】:2013-06-25 05:45:30
【问题描述】:
我已经看到逻辑左移可以进行 1-31 位的移位。算术右移和逻辑右移以 1 -32 作为移位量。为什么左右移位有区别?
【问题讨论】:
-
因为您可能希望将 0x80000000 和
shr取 32 次以产生 0。但是取0x00000001并执行lsh32 次只会将设置位从末尾转储int,产生等价的整数溢出。 -
请指定指令集
-
指令集是arm v7
标签: assembly arm machine-code