2的100万次方是多少

2的100万次方是多少?
2的100次方是:1267650600228229401496703205376。这个数字已经很大了,
如果有人问2的100万次方是多少,那该怎么求呢?
首先要知道这个结果一定是一个很大的数,且这个数是确定的。要计算这个结果,需要把结果存储到数组中,分配一个long型的数组,空间要足够大。数组的每一位可存放10位结果,也就是100亿,可以看作是100亿进制的数,逢100亿进1。由于100万是很大的数,可以每次乘2的20次方,来减少计算次数。当然也可以每次乘2,不过需要等待很久。下面的代码实现了求2的100万次方。

#include 

//每一位存10位数字
#define MOL 10000000000
#define MOL_LEN 10

//存储结果的数组,最大为66666.
long array[66666] = {1};

int main(int argc, const char * argv[]) {
    // insert code here...
    long carry;//进位
    long temp;//中间结果
    int index;//记录结果的最高位索引
    int i;
    int j;
    int n;
    int k;
    n = 100;
    k = 20;//每次乘2的K次方,当n很大的时候,可以修改k的值,来加快计算。
    n /= k;
    index = 0;
    for (i = 1; i <= n; i++) {
        carry = 0;
        for (j = 0; j <= index ; j++) {
            temp = (array[j]<= 0; i--) {
        printf("%0*ld", MOL_LEN, array[i]);
    }
    printf("\n");
    return 0;
}

通过简单修改上面的程序,同样可以求2的1亿次方,但需要等待很久很久才能出结果。

你可能感兴趣的:(2的100万次方是多少)