C语言中如何算2的N次方

 我来答
百度网友ca560fe
2019-10-30 · TA获得超过2.3万个赞
知道答主
回答量:70
采纳率:100%
帮助的人:2.9万
展开全部

#include <stdio.h>

#include<math.h>

int main()

{

    int n;

    unsigned long long sum;

    printf("请输入要计算的N此方:");

    scanf("%d",&n);

    sum=pow(2,n);

    printf("%llu",sum);

    return 0;

}

扩展资料:

在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。

头文件一般由四部分内容组成:

1,头文件开头处的版权和版本声明。

2,预处理块。

3,inline函数的定义。

4,函数和类结构声明等。

在头文件中,用 ifndef/define/endif结构产生预处理块,用 #include 格式来引用库的头文件。头文件的这种结构,是利用C语言进行开发软件所通常具备的,属于公有知识。


百度网友54fd645
推荐于2017-09-11 · TA获得超过426个赞
知道答主
回答量:40
采纳率:100%
帮助的人:19.3万
展开全部

完整代码如下:

#include <stdio.h>

int main(int argc, char **argv)
{
    unsigned long long result = 1;
    int cnt;

    if (argc != 2) {
        return -1;
    }

    cnt = atoi(argv[1]);
    if (cnt < 0) {
        return -1;
    }

    printf("cnt=%d\n", cnt);

    while (cnt) {
        result *= 2;

        if ((result - 2) > ((unsigned long long)-1 / 2)) {
            printf("result out of range! result:%llu range:%llu\n", result, (unsigned long long)-1 / 2);
            return -1;
        }

        cnt--;
    }

    printf("result = %llu\n", result);

    return 0;
}


通过输入参数计算2的N次方,如./exe 10,表示计算2的10次方结果。

PS:最多计算到2的63次方,因为unsigned long long 8字节64位,不能超过它的最大值。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dinghaitao1
2011-10-14
知道答主
回答量:8
采纳率:0%
帮助的人:1.4万
展开全部
有特定的库函数的,#include <math.h>
pow(2,n);
2的n次方。

这个函数写起来也很简单的。
int pow(int x,int y)
{
int i;
for(i=0;i<y;i++)
x*=x;
return x;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傲慢雪见
2011-10-14 · 超过10用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:30.7万
展开全部
void main()
{
int i;
int n;
long s=1;
printf("请输入n的值:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s*=2;
}
printf("2的%d次方的值为%ld\n",n,s);
}
追问
我这样试过,但是当n=100次就错了我用的还是unsigned long long 类型呢
追答
long型是32个字节,你用100的话就超出范围了!算一下2的32次方是多大,然后如果是100次方得话就超出范围了!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8fbee656e8
2011-10-14 · TA获得超过1328个赞
知道小有建树答主
回答量:578
采纳率:68%
帮助的人:185万
展开全部
左移N次,就是2的N次方
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式