发新帖我要提问
123
返回列表
打印
[其他]

移位运算为什么比乘法除法快

[复制链接]
楼主: bartonalfred
手机看帖
扫描二维码
随时随地手机跟帖
41
AIsignel| | 2024-11-13 15:26 | 只看该作者 回帖奖励 |倒序浏览
现代编译器经常优化移位操作,以进一步提高它们的执行效率

使用特权

评论回复
42
不想打补丁| | 2024-11-13 23:52 | 只看该作者
移位运算之所以在某些情况下比乘除运算快,主要是因为硬件支持和运算简化。

使用特权

评论回复
43
物联万物互联| | 2024-11-14 11:14 | 只看该作者
移位操作的结果只取决于输入数据的位模式,而不取决于数据的具体值。

使用特权

评论回复
44
dreamCar| | 2024-11-15 11:43 | 只看该作者
主要原因是其工作原理和硬件实现更简单直接

使用特权

评论回复
45
明日视界| | 2024-11-16 12:04 | 只看该作者
乘法器需要多位乘法和累加,分频器需要多位比较和移位,这两者都需要更多的时钟周期。

使用特权

评论回复
46
suncat0504| | 2024-11-16 21:17 | 只看该作者
在基础数字电路级别上就可以实现移位处理,所以配置到单片机里很容易。程序运算涉及至少两个寄存器的处理,本身也复杂。

使用特权

评论回复
47
天天向善| | 2024-11-17 13:14 | 只看该作者
编译器通常会优化乘法和除法运算,以便尽可能地移位运算,尤其是在乘以或除以2的幂时。

使用特权

评论回复
48
LinkMe| | 2024-11-20 23:05 | 只看该作者
乘法运算通常涉及多个加法运算和移位运算。

使用特权

评论回复
49
wex1002| | 2024-11-22 17:32 | 只看该作者
移位操作直接作用于数据的二进制表示,不需要二进制转换。这使得移位操作在底层实现中更加直接和有效。

使用特权

评论回复
50
LLGTR| | 2024-11-23 20:43 | 只看该作者
因为移位操作很简单,所以通常只需要一个或几个指令周期就可以完成。,

使用特权

评论回复
51
hmcu666| | 2024-12-5 18:06 | 只看该作者
移位运算比乘法和除法快主要是因为它们直接操作二进制位,避免了复杂的乘法和除法运算过程中的复杂计算步骤和多次迭代。移位操作是简单的位移动,处理器能够直接并行处理这些操作,因而速度快很多。而乘法和除法操作,特别是在涉及浮点运算时,需要进行更复杂的数**算,所需时间更长。因此,移位运算在多数情况下更快。

使用特权

评论回复
52
AloneKaven| | 2024-12-10 18:01 | 只看该作者
二进制运算当然快

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则