如何进行1000位大数的运算?

#include <stdio.h>
#include <math.h>
#include <tgmath.h>
#include <complex.h>
#include <string.h>
#define MAX_DIGITS 1000
typedef struct
{
   int digits[MAX_DIGITS];
   int size;
} BigNumber;

void initBigNumber(BigNumber *num, const char *str)
{
   int len = strlen(str);
   num->size = len;
   for (int i = 0; i < len; i++)
   {
      num->digits[i] = str[len - i - 1] - '0';
   }
}

void printBigNumber(const BigNumber *num) {
   for (int i = num->size - 1; i >= 0; i--) {
       printf("%d", num->digits[i]);
   }
   printf("n");
}

int main() {
   BigNumber a, b, result;
   initBigNumber(&a, "1234567890123456789012345678901234567890");
   initBigNumber(&b, "9876543210987654321098765432109876543210");
   addBigNumbers(&a, &b, &result);
   printf("Sum: ");
   printBigNumber(&result);
   return 0;
}

 https://docs.pingcode.com/baike/1180969

posted @ 2025-03-31 16:17  华腾智算  阅读(12)  评论(0)    收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL