Excel:计算一个非常大的模数,而不会出现溢出错误

我有一个A2和一个单元格A2 288.我想计算MOD(2 ^ 288; 2017),但是这给出了NUM错误。

我也尝试过使用这个公式:= number-(INT(number / divisor)* divisor),但是当数字太大时,结果为0。

编辑:不完全重复(请参阅我的答案在Excel中的函数),我用这个algorithm: 如何计算大数的模数?

Excel可能会迫使您的值的整数上下文。 即使是一个Int64也不足以处理大的数字。

你可能需要一个自定义的VBA函数来处理这个。 如果您将input和输出转换为双精度,然后强制使用模函数,则应该能够进行math运算。

我的问题是validation输出…我不知道这是否是正确的价值。

 Public Function BigMod(ByVal numerator As Double, ByVal denominator As Double) As Double Dim floor As Double floor = Int(numerator / denominator) BigMod = numerator - intval * denominator End Function 

为了解决这个问题,在excel中添加这个函数:alt + f11 – > module – >添加和使用BigMod(2; 288; 2017)如果你想计算2 ^ 288 mod 2017

 Public Function BigMod(ByVal grondgetal As Double, ByVal exponent As Integer, ByVal modgetal As Double) As Double Dim hulp As Integer hulp = 1 Dim i As Integer For i = 1 To exponent hulp = hulp * grondgetal hulp = hulp - Int(hulp / modgetal) * modgetal Next i BigMod = hulp End Function