需要编写一个C程序,添加两个数字,每个数字超过100个数字..
我不希望使用数组的方法来执行此操作。 请建议我如何存储这个数字(至少512位大小)并进行算术运算?
答案 0 :(得分:5)
您可以使用任意精度算术库,例如GMP。
快速C示例:
#include <gmp.h>
mpz_t a, b;
const char *huge_decimal_num1 = "46819294521564960351683095841209562359068";
const char *huge_decimal_num2 = "6904120584864540916814056801234572451249681";
mpz_init_set_str (a, huge_decimal_num1, 10);
mpz_init_set_str (b, huge_decimal_num2, 10);
mpz_add (a, a, b); // a = a + b
printf("%s + %s = %s\n",
huge_decimal_num1, huge_decimal_num2, mpz_get_str (NULL, 10, a));