对于程序中的小值和大值,整数加法是否需要恒定的时间量?

时间:2015-02-14 18:56:26

标签: java c

在整数加法中,即使数量很少,计算机会将每一位从第1位扫描到第31位吗?

2 个答案:

答案 0 :(得分:1)

它取决于硬件......对基本数据类型执行基本算术运算(例如32位硬件上的32位和)需要相同的时间,因为有专门的硬件执行操作。

在理想情况下(在32位架构上)0 + 0或32767 + 32768应该花费相同的时间。

(顺便说一下,如果你用自定义代码实现一个总和...... - 例如扫描每一位 - 它是不同的)

答案 1 :(得分:1)

传播延迟存在一些变化,具体取决于添加的硬件实现,但对于几乎所有处理器,周期数是固定的,并且基于特定实现的最坏情况可能的传播延迟。链接到一种优化硬件加法器的示例:

Kogge Stone adder