2的64次方用C语言怎么求

2025-04-04 18:51:25
推荐回答(1个)
回答1:

C语言中int通常是32位的,所以2的64次方已经越界了,不能用int表达。用double类型可以做,做出来也是不精确的:

#include 
#include "math.h"
int main(int argc,char *argv[]){
    printf("%f\n",pow(2,64));
    return 0;
}

或者:

#include 
int main(int argc,char *argv[]){
    double s;
    int i;
    for(s=i=1;i<=64;s*=2,i++);
    printf("%.0f\n",s);
    return 0;
}