主题:请教高手指导这个程序中的问题
#include <iostream>
int main()
{
int bitsum = 0;
int adder = 1;
for (int i = 1 ; i <= 7 ; ++i)
{
adder = adder * 2;
bitsum += adder;
}
bitsum = bitsum +1;
std::cout << bitsum;
return 0;
}
当我把 i 的最大值“7”改为“31”时 结果为“-1”
“30”时 结果还是正常的
而当我把bitsum的内置类型改为"long"时,出现和上面一样的情况
我是初学者,请高手们给我解解惑吧!说详细一点哦
谢谢
int main()
{
int bitsum = 0;
int adder = 1;
for (int i = 1 ; i <= 7 ; ++i)
{
adder = adder * 2;
bitsum += adder;
}
bitsum = bitsum +1;
std::cout << bitsum;
return 0;
}
当我把 i 的最大值“7”改为“31”时 结果为“-1”
“30”时 结果还是正常的
而当我把bitsum的内置类型改为"long"时,出现和上面一样的情况
我是初学者,请高手们给我解解惑吧!说详细一点哦
谢谢