我正在维基百科上查看Vigenère加密/解密算法,我想知道哪种方法最有效/正确:
return a % b
和:
if a < 0
return a += b
else
return a
时间:-b <= a <= b
或者一旦编译它可能是等价的?
谢谢你赐教:)
IMO,这种纳米优化没有什么意义,因为在有任何令人难以置信的差异之前,您需要长达数百万个字符的文本。
与其他操作相比,模运算和条件分支都是“昂贵的”,并且它们与处理器体系结构相关。因此,唯一可以知道的方法是进行基准测试,充分注意在现实条件下获得可重复的结果(这有点矛盾)。
这就是说,请注意%没有为负参数实现真正的模运算,如果你假设,你会得到错误的结果。