我想知道在按 2 的幂移动时执行逻辑右移是否更快
例如,是
myUnsigned >> 4
任何快于
myUnsigned >> 3
我很感激每个人的第一 react 都是告诉我,人们不应该担心像这样的小事,它正在使用正确的算法和集合来削减重要的数量级。我完全同意你的看法,但我真的想尽我所能地从嵌入式芯片(ATMega328)中挤出——我刚刚得到了一个值得“哇哦!”的性能转变。通过用移位替换除法,所以我向你保证这确实很重要。
最佳答案
让我们看一下数据表:
http://atmel.com/dyn/resources/prod_documents/8271S.pdf
据我所知,ASR(算术右移)总是移动一位,不能取移动的位数;需要一个周期来执行。因此,右移n位需要n个周期。 2 的幂与任何其他数字的行为相同。
关于c++ - 在 AVR 中逻辑右移 2 次方的速度更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3726326/