问题描述: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
你确定好了吗?
还是没反应啊
你把问题关了吧...你私下给我吧私信你了
你每天都点,我看见了