我使用的是GMP,我希望能够快速将mpz
转换为mpf
。我翻遍了图书馆,找不到多少东西。我能想到的最好的事情是这样的:GMP将mpz转换为mpf
mpz_t x;
/* Insert code here that assigns some value to x */
char buf[SIZE];
gmp_sprintf(buf, "%Zd", x);
mpf_t y;
mpf_set_str(y, buf);
这种解决方案需要反复转换,并从一个字符串。此外,它受到SIZE
的限制,我无法预先确定需要的大小。有没有更好的方法来做这种转换?