C#biginger.ModPow到负指数
我想把ModPow改成负指数,有人知道怎么做吗?你不能用负指数执行ModPow,因为这可能会导致非整数值 作为替代,您可以使用Math.Pow函数,该函数处理双精度 您可以找到详细信息 关于MOD的注意事项: MOD实际上只适用于整数。一旦你使用负指数,你就离开了整数的世界。如果你真的坚持要维护国防部,你可以采取如下措施:C#biginger.ModPow到负指数,c#,biginteger,C#,Biginteger,我想把ModPow改成负指数,有人知道怎么做吗?你不能用负指数执行ModPow,因为这可能会导致非整数值 作为替代,您可以使用Math.Pow函数,该函数处理双精度 您可以找到详细信息 关于MOD的注意事项: MOD实际上只适用于整数。一旦你使用负指数,你就离开了整数的世界。如果你真的坚持要维护国防部,你可以采取如下措施: var result = (int)(Math.Floor(Math.Pow(x, exp))) % modulus; 尽管我相信,对于x>1的所有值,它的值总是为0,但您
var result = (int)(Math.Floor(Math.Pow(x, exp))) % modulus;
尽管我相信,对于x>1的所有值,它的值总是为0,但您将无法使用负指数执行ModPow,因为这可能会导致非整数值 作为替代,您可以使用Math.Pow函数,该函数处理双精度 您可以找到详细信息 关于MOD的注意事项: MOD实际上只适用于整数。一旦你使用负指数,你就离开了整数的世界。如果你真的坚持要维护国防部,你可以采取如下措施:
var result = (int)(Math.Floor(Math.Pow(x, exp))) % modulus;
虽然我相信,对于x>1的所有值,该值始终为0,但我不认为这会产生有意义的结果。例如,8^-1是0.125。对于任何正整数n,n^负,任何东西都会产生介于0和1之间的结果。取一个介于0和1之间的数的(>0)整数模得到相同的数。然后是@Nathan C指出的整数截断问题。我不认为这会产生有意义的结果。例如,8^-1是0.125。对于任何正整数n,n^负,任何东西都会产生介于0和1之间的结果。取一个介于0和1之间的数的(>0)整数模得到相同的数。然后是@Nathan C指出的整数截断问题。