What is the name of the numeric data type where a float has its exponent bits replaced with another floating point value to use as the outer float's exponent?
This is a tip-of-the-tongue problem, as I recall having a casual conversation with a friend of mine on exotic data types.
A normal float may be constructed from 3 parts: sign bit, mantissa (fractional), and an exponent section.
With 64 bits of IEEE standard float, you have a range of 1024 binary magnitudes.
The number I'm trying to recall has its exponent section replaced with another float. Going back to the double, if we replace the biased exponent with a 1.4.6 float we would lose some more precision but represent much larger values--2^256 binary magnitudes.
Here is a graphical representation of a normal float and what I'm thinking of:
Any idea what I'm thinking of?
Edit: The answer is posits. I described it wrong, but @njuffa found the answer anyways. Instead of making the exponent into a float, a posit uses the following format:
Source: Training Deep Neural Networks Using Posit Number System (2019)
Where s
is the sign bit, r
are the regime bits, e
are the exponents, es
is the number of the exponent bits, and f
are the fraction/mantissa bits. The es
value is pre-defined just as a 32-bit integer has a predefined size n
of 32 total bits. The mantissa size is variable within a single definition of a posit. The resulting number it represents is given by this formula: