在我的 c 代码中,我必须执行一系列递归模块化操作。特别是我必须使用 C~2^126 执行 (A*B)modC 之类的操作,而 A,B 原则上可能是非常大的数字(从 0 到 2^128 - 1)(我与128 位 unsigned __int128
变量)。
问题是如何在乘法过程中执行模块。我需要这个,因为如果在乘法之后执行模块,我可能会在乘法期间超过 2^128(如果 A 和 B 非常大)并破坏连续的模运算。
所以我想执行一个乘法,每次通过 C(在乘法过程中)而不是每次通过 2^128 - 1 时从 0 重新开始。
我应该怎么做?
问问题
53 次