I am reading Numerical Analysis by Walter Gautschi. I am somewhat confused by the following quote from page $5$:

To increase the precision, one can use two machine registers to represent a machine number. In effect, one then embeds $\mathbb{R}(t, s) \subset \mathbb{R}(2t, s)$, and calls $x \in \mathbb{R}(2t, s)$ a double-precision number.

(Here $t$ represents the number of allowable binary digits in the mantissa, and $s$ represents the number of binary digits allowable in the exponent.)

Can someone please explain what is going on here with the "machine register"? Some questions that I have are: instead of using two registers, why not just use one of bigger size? Apparently some registers have a different size, because the exponent is also stored in a register, and $r$ may not equal $s$.

Secondly, double-prevision seems to be defined in terms of a "native precision" already intrinsic to the machine. But on the other hand, I thought double precision was a fixed thing determined by IEEE.

My Background I am a math major taking my first Numerical Analysis course. I do not have any prior experience with computers (except day-to-day use of course) or numerical mathematics.


I don't know how old your book is, but some architectures (I know of the early SPARCs, there may be others) only had 32 bit floating point registers. Double precision instructions used pairs of registers for storage. This became much less common on general-purpose hardware when 64-bit integer registers became the norm.

If anything, we have the converse today, thanks to vector/SIMD operations. If you have, say, a 128 bit vector register, you can fit four single-precision or two double-precision numbers in it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.