Неограниченная точность и заданное округление и масштаб с помощью строкового конструктора

С Java BigDecimal, возможно иметь неограниченную точность и заданное округление и масштабирование с помощью строкового конструктора.

Я видел GMP GMU, мультипрецизионность Boost и MPFR, но, похоже, ни у одного из них нет этих характеристик.

Может ли кто-нибудь из них сделать это? Если так, то как? Если нет, как это можно сделать?

1 ответ

Решение

GMP разработан для обеспечения произвольной точности с поддержкой C++ с использованием gmpxx.h заголовок и соответствующая библиотека. Если вы строите GMP с нуля, используйте --enable-cxx флаг во время настройки.

Чтобы построить объект из std::stringпросто используйте конструктор, например,

#include <gmpxx.h>

const std::string longNumber = "12345678901234567890";

mpz_class n(longNumber);

Более подробная информация доступна здесь

Другие вопросы по тегам