【发布时间】:2017-02-13 11:16:28
【问题描述】:
当 C 将两个 n-bits 整数相乘时,它是在内部使用普通的 O(n^2) 乘法算法,还是使用 Karatsuba 的 O(n^log_2(3)) 乘法算法的变体?
【问题讨论】:
-
C 标准本身并没有规定这样的实现细节。每个编译器都会为每个目标架构选择适当的指令,因此它将取决于该指令集。
-
C - 没有。编译器 - 可能不是。底层硬件架构——也许吧。
-
C 没有 n 位整数。
-
这取决于实现。在没有乘法指令的硬件上,可能是的,但您需要检查库/编译器的源代码。
-
“它既不是硬件也不是我在学习建筑课程”?这跟我说的有什么关系???
标签: c algorithm multiplication