我正在为数论中的一个研究项目编写一些C代码,它需要用许多不同的模块用模块化算法进行大量操作。简单地说:我需要多次执行(a * b) % n操作。我的问题是:使用Montgomery模乘(只使用加法和乘法)而不是C模运算符% (它翻译成a % n = a - n*(a / n)并使用除法)会带来更快的执行速度吗?直觉上,我想说答案是:不,因为在个人电脑上的(字大小)除法比(字大小的)乘法要昂贵得多,而蒙哥马利的减少实际上会造成开销。
谢谢你的建
有人知道为什么C#中的整数除法返回的是整数而不是浮点数吗?它背后的想法是什么?(它仅仅是C/C++的遗产吗?)here to use epsilon compare print 'Hello world';'Hello world'
严格地说,没有整数除法(按定义除法是产生有理数的操作,整数是有理数的一个非常小的子集)。