如何将变量分配给用 <gmp.h> 声明的变量

How to assign a variable to the variables decalred with <gmp.h>

我最近使用了一个库 <gmp.h>,但我很难为我声明的变量 mpf_t x 赋值。我使用 mpf_init2 (x,256) 来初始化它,当我使用 x=1.234029187340918239082372984509283475029845702 我得到

highprecision.cc:7:7: error: incompatible types in assignment of ‘double’ to ‘mpf_t’ {aka ‘__mpf_struct [1]’}
    7 |     x=1.234029187340918239082372984509283475029845702;
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这个错误。知道为什么吗?顺便说一句,我正在使用 C++17 GCC。纪录片也很混乱。对不起。

mpf_set_d(x, 1.234029187340918239082372984509283475029845702);

也许阅读文档会有帮助?

顺便说一句,如果您认为您将在 double 文字中获得 256 位精度,那您就错了。 1.234029187340918239082372984509283475029845702 在您的系统上仍将具有双精度的常规精度(通常约为 17 到 19 位数字)。