gpt4 book ai didi

c++ - 类型 'long long int' 到二进制 'operator%' 的无效操作数

转载 作者:行者123 更新时间:2023-11-28 05:54:22 24 4
gpt4 key购买 nike

我在 C++ 中,但出现此错误:

bool comprovarCodi(long long num, int DC){
bool codi_correcte;
int i=0, suma_senars=0, suma_parells=0, suma_total=0, desena_superior, DC_calculat, cont=0;
while(num!=0){
num=num/10;
cont++;
i++;
}
if(cont==12){
for(int j=1; j<12; j=j+2){
suma_senars=suma_senars+num%pow(10,j);

我不知道为什么,我相信“num”是一个整数,所以我可以使用运算符“%”。

有人知道为什么会失败吗?

谢谢

最佳答案

不要对这种事情使用pow

long long pow_ten = 10;
for(int j=1; j<12; j=j+2)
{
suma_senars=suma_senars+num%pow_ten;
pow_ten *= 100;
}

这不仅会更快,而且会正确计算,而不是 pow 可能会使用类似 exp(log(x) * y) 的东西来计算x ** y - 因此并不总是准确地得出您想要的数字 - 特别是当您将其转换回整数时。

关于c++ - 类型 'long long int' 到二进制 'operator%' 的无效操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34536961/

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