Распечатка высокой точности (в настоящее время печатает значение в научной нотации c) - PullRequest
0 голосов
/ 29 февраля 2020

Мне нужно распечатать высокоточный pow () на консоль. Например, 100- (0,5) ^ 100 равно 99,99999999999999999999999999999992111390947789881945882714347172137703267935648909769952297210693359375 в соответствии с вольфрам альфа.

Когда я генерирую вот так long double d = (double)std::pow(0.5, 100.0); Я получаю номер в научной нотации c. Я также пытался использовать GMP, но primality_probability печатает как 100. Любые советы по генерации и печати высокоточных Pow, как это?

mpf_t primality_probability;
mpf_init2 (primality_probability, 256);
mpf_set_d(primality_probability, 0.5);
mpf_pow_ui(primality_probability, primality_probability, repetitions);
mpf_ui_sub(primality_probability, 100, primality_probability);
...