解决问题者,不限于采纳的10元酬金,可私下支付两倍~

问题描述:c++调用大数库GMP输出mpf_class类型


本人用的是VS2019,回答之前麻烦装一下GMP的环境,然后调试通过,谢谢~


解决问题者,不限于采纳的10元酬金,可私下支付两倍~


安装GMP的教程:

https://blog.csdn.net/a675115471/article/details/104425406


要求:

(1)必须使用c++的mpf_class类型

(2)输出30位有效数字,输出不能有乱码

(3)不能手动数有效数字位数


源代码如下:


#include<iostream>

#include<fstream>

#include<gmp.h>

#include <gmpxx.h>

#include <string>

#include <stdio.h>

using namespace std;


int main() 

{

mp_bitcnt_t prec = 11512;

mpf_class x(1.200000100000012345645645454545454544540000000002 ,prec);

mpf_class y(1.2000001, prec);


mp_exp_t exp;

size_t n=25;


string x_str = x.get_str(exp, 10, n);

string y_str = y.get_str(exp, 10, n);


x_str.insert(exp, ".");

cout << "x的值:" << x_str << endl;


y_str.insert(exp, ".");

cout << "y的值:" << y_str << endl;

}


代码结果如下:




没加双引号,传的是double类型,所以就出错了

没问题的话,我在你前天的帖子下也留言了


能转string类型,那这个不也就解决了吗
用C++读写字符串。。。
昨天你这个研究了一下,我也没找出所以然来。。。就没看了

不行,我就是要用double 类型初始化mpf_class 对象 我再去发个帖子..

好的 多谢

不结问题的吗...

一直无法采纳,点了没反应

刷新一下吧

刷新无数回了也是点了没反应

真是奇了怪了

在电脑上点采纳... 

不然在哪点?

...你以前不都采纳了吗
难道今天网站抽风了?


确实没反应

今天网站抽风了 我收到了80条采纳消息




去主站逛一下300条

我人傻了


为什么就你采纳我,就发通知给我啊。。。
今天那个误采纳的,都没发通知...
你先别点了,明天找客服吧QAQ

你确定好了吗?

还是没反应啊

你把问题关了吧...你私下给我吧私信你了

你每天都点,我看见了