C程序中2的20次方可以用2^20表示吗?

例如我写的这个程序为什么什么也没有输出,是不是2^20在C语言里不能这么表示?
/*计算1+2+4+8+16+32+...+2^20 (在数学上用a^b表示a的b次方)
*/
#include "stdio.h"
int main(void)
{
int sum,n;
sum=0;
for(n=1;n<=2^20;n=n*2)
sum=sum+n;
printf("sum=%d\n",sum);
return 0;
}

不能这样表示的,2^20应该用一个库函数pow
它的表示方式是 比如 x^y表示为 pow(x,y);
但是要注意的是,在这里x,y还有最后的值都应应该是double型的 这个库函数包含在数学函数中,用时不要忘记头文件名 #include "math.h"
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-21
不可以用^表示乘方,在C语言中,^表示位异或,是一个位操作符,在C语言中用math.h中声明的pow()函数计算乘方

pow(2,20)可以计算2的20次方本回答被提问者和网友采纳
第2个回答  2008-06-20
不能这样的,除了pow()函数可以实现,其实你可以自己编一个,很简单的,用for循环就行了.
第3个回答  2008-06-20
你似乎用的是int ,应该用long int
还有就是加上头文件!
int的范围好像是负三万多到正三万多,具体记不清楚了,但是int表示2的20方肯定是不够!
第4个回答  2008-06-29
2^20=1048576,要用long int,而你用的是int
而且,在TC中2^20计算出来是22,我也不知都爱是怎么算出来的。你干脆把2^20改为1048576吧!
相似回答