笔试题:C语言编程2的1000次方大小

本文介绍了如何使用C语言解决计算2的1000次方的笔试题。由于常规整型类型无法存储如此大的值,因此采用数组模拟多位数运算,初始化数组首位为1,其余为0,通过不断乘以2和进位来计算结果。
摘要由CSDN通过智能技术生成

之前刷笔试题遇到一道挺有意思的题,就是利用C语言编程得到2的1000次方的值。

大家都知道C语言编程时对于每个变量都严格定义类型,最大的整形也不过为long int类型,unsigned int类型范围在0~65535之间,而2的1000次方明显远大于65535,所以用一般的数值运算2^1000次方是完全行不通的,所以需要转换思路,试想一下2的1000次方将会是一个有很多位的数值,所以我们可以考虑从数组的角度入手,那么问题就很简单了,下面提供思路。

先创建一个足够大的数组,用来存储计算出来的值。因为要模拟不断的乘以2,不断地进位,所以我们可以先设置第一位为1,其余全部为0,如果遇到进位了,可以将进位的这一位从0变为1,之后的乘以2运算中可以每一个非0元素都可以乘以2。

#include <stdio.h>

int main()
{
    int t=0;
    int a[500]={
  0};//将存放2的1000次方数值的数组初始化
    int i=0;
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值