This appears to be a very basic question, yet I'm still not sure I understand correctly.
Say I have defined some very small and large numbers
constexpr double a = 1.53636e-34;
constexpr double b = 6.12362e-36;
constexpr double c = 6.92956e+19;
and want to use them for some arithmetic. Is it safe to do so in double precision where only 16 digits are significant?
EDIT: Let's use an example. Say we want to obtain the speed of light in atomic units. It's defined as:
double c = 2 * epsi * h * col / (e * e);
where
double e = 1.602176634e−19;
double h = 6.62607015e−34;
double col = 299792458;
double epsi = 8.8541878128e−12;
We obviously don't care about everything that happens after the ninth decimal place or so. What we do care about though is that the above consistently evaluates to 137.035999....
EDIT2: Formula was wrong.