100 桁以上の数字を 2 つ加算する C プログラムを作成する必要があります。
配列を使用してこれを行う方法は望ましくありません。この数値 (少なくとも 512 ビット サイズ) を格納し、算術演算を実行する方法を教えてください。
100 桁以上の数字を 2 つ加算する C プログラムを作成する必要があります。
配列を使用してこれを行う方法は望ましくありません。この数値 (少なくとも 512 ビット サイズ) を格納し、算術演算を実行する方法を教えてください。
そのためには、 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));