为什么python和vb.net的输出不同,所以python结果是正确的预期输出。 Vb.net提供了错误的答案。该如何纠正?选项严格。
lm = -32617584047406127887053860912668548655625778953140441154984154756096705713545
曲线= 115792089237316195423570985008687907853269984665640564039457584007908834671663
Python
tempreturn = lm % Pcurve
Python结果:83174505189910067536517124096019359197644205712500122884473429251812128958118
VB.net
Dim tempreturn As BigInteger = lm Mod Pcurve
VB.net结果:-32617584047406127887053860912668548655625778953140441154984154756096705713545
答案 0 :(得分:1)
在.NET中,模运算符不是真正的模;这只是余数计算。来自documentation:
返回:除法得到的余数。
如果您想使用“ truer” mod功能,请尝试以下操作:
Dim tempreturn as BigInteger = ((lm Mod Pcurve) + Pcurve) Mod Pcurve