Рассмотрим следующий код:Как точно увеличить точность mpreal?
#include <iostream>
#include <mpreal.h>
using namespace std;
using mpfr::mpreal;
mpreal x("1.001",64);
mpreal y("1.0",64);
y*=x;
cout<<y<<endl; //1
y.set_prec(128);
cout<<y<<endl; //2
Выходы
1,001
1,00100000000000000002081668171172168513
Я желаю, чтобы второй выход что-то вроде
1,00100000000000000000000000000000000000
На самом деле, я узнал, что один может заменить
y.set_prec(128);
в
y=mpreal(y.toString(),128);
Но этот вид преобразования отнимает много времени.
Есть ли способ лучше/быстрее?
Спасибо!
Вы уже выбрали эту точность, когда вы выполнили «mpreal x (« 1.001 », 64);». Вы не можете вернуть его после этого факта. – user2357112