You are quite correct. Also I calculated the Maximum signed value that can be represented by the 64 bits in a doulbe it's: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
Erm, those are the extreme values of the long data-type. (Or long long data-type, for the old geezers.)
Of course this is assuming the bits in a doulbe can be all used to represent either a base 2 number/decimal number/scientific notation.
When I refer to double, I am talking about the standard double-precision floating point type, used by most languages, usually described by
IEEE 754-1985. This type has only one form: [Sign:1 | Exponent:11 | Significand:52]
I believe these doubles have a range of ±4,503,599,627,370,496 when representing exact integers. Otherwise, their range is ≈ ± 1.80(10
308) to ±2.23(10
-308). It's the same bit-form either way, though
I somewhat remember a c++ doulbe have specific bits assigned to +/-/normal binary number/scientific notation
C++ is a strongly typed language, and its floating-point primitives are system-dependent. However, C++ floats and doubles act like IEEE 754-1985 floating-point numbers almost ubiquitously, I think.
You may of noticed 9,223,372,036,854,775,807 + 193 = 9,223,372,036,854,776,000 or max power.
No, I have not noticed that. But I fail to see its significance. :-\