-3

100 桁以上の数字を 2 つ加算する C プログラムを作成する必要があります。

配列を使用してこれを行う方法は望ましくありません。この数値 (少なくとも 512 ビット サイズ) を格納し、算術演算を実行する方法を教えてください。

4

1 に答える 1

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));
于 2013-08-17T07:27:11.537 に答える