Hi,
There is the non standard decimal TR, but it is limited to 64 bits.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3407.html
https://stackoverflow.com/questions/14096026/c-decimal-data-types#14096071
On my Linux system there is the decimal/decimal.h header file.
But I still wonder why you need all this extra precision. For example wiki lists the radius of an electron as 2.8179403227(19)e-15 metres, that's 13 sf. With an ordinary double with 15sf, one has 2 extra digits of precision, or 1/10e15 of the radius of the electron, or 1 quadrillion
th or the radius of the electron. With a long double of 18sf, one has 5 extra digits of precision; with your quadruple precision of 33 sf, that's more than
twice the number of digits in the original number. And you want more ?
It just seems strange that you are wanting to use values so far beyond what any experimental inaccuracies might be. Isn't the normal situation for each value to have an associated error value, and these propagate through the calculations? I am struggling to see how a round off error at about 1e-48 could effect values at the decimal place of 1e-28.
Maximum apologies in advance if this is a ridiculous question: I sincerely hope that you know that C/ C++ has always been able to do exponents, as in:
constexpr double re {2.81794032271919e-15 }; // Electron Radius
Again, I apologise for even asking this question, but it's not the first time that someone hasn't understood this.
Edit: Can we see a small part of your code where you define values?