gpt4 book ai didi

c++ - Pow() 计算错误?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:32 25 4
gpt4 key购买 nike

我需要在我的 C++ 程序中使用 pow,如果我这样调用 pow() 函数:

long long test = pow(7, e);

在哪里

e is an integer value with the value of 23.

我总是得到 821077879 作为结果。如果我用 Windows 计算器计算它,我得到 27368747340080916343..这里有什么问题? ):

我尝试转换为不同的类型,但没有任何帮助...这可能是什么原因?我如何正确使用 pow()

谢谢!

最佳答案

结果不适合long long

如果你想处理非常大的数字,那么使用像 GMP 这样的库

或者将其存储为 float (不会那么精确)。

应用模数:

const unsigned int b = 5; // base
const unsigned int e = 27; // exponent
const unsigned int m = 7; // modulo

unsigned int r = 1; // remainder

for (int i = 0; i < e; ++i)
r = (r * b) % m;

// r is now (pow(5,27) % 7)

关于c++ - Pow() 计算错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8174909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com