Skip to main content
13 events
when toggle format what by license comment
Jun 6, 2023 at 16:33 comment added robert bristow-johnson Helmut, it's the number of bits in the mantissa that matter the most. There needs to be enough range in the exponent value (and 8 bits in the exponent easily give us enough range, 5 bits would be enough). But this comes simply from the explicit definition of the value of the floating-point number with 23 mantissa bits, one *"hidden 1" bit, and one sign bit. And from the definition of the 25-bit signed integer using the sign-magnitude format. Write the definitions down side-by-side.
Jun 6, 2023 at 14:57 comment added Helmut hmm ok, although this might disqualify myself. Why is it obvious that the 24bit can be lossless expressed by a float32? I read this at wikipedia as well but it is not that obvious for me. I see the point for everything in the exponent (7bit) and adding the mantisse another bit. How is it for bit 8 to 24?
Jun 6, 2023 at 7:28 comment added robert bristow-johnson C'mon, if you can save your 24-bit sample value as a 24-bit integer that can be represented exactly in a 32-bit IEEE float, then you can store it without loss. Now, if you choose to store the same fixed-point number, but scaled by a power of 2 so that the range of the number fits a specified range (usually it's from -1 to +1), then the mantissa is exactly the same bits. Nothing is lost.
Jun 6, 2023 at 6:27 history edited Helmut CC BY-SA 4.0
clarifications
Jun 6, 2023 at 6:19 history edited Helmut CC BY-SA 4.0
added an image to further illustrate my question
Jun 6, 2023 at 5:56 comment added Helmut Thanks! I am not sure if you mean this, but I see the point that it is possible to map any 24-bit integer to a 32-bit float without loss, since the latter has a higher cardinality. However, I now realise that my question is whether the 32-bit float can also hold the integer values transformed by the scaling constant without loss. I am afraid that in some regions the step size of the float is not sufficient to account for this. See the edit for more information. Does your argument still hold? And if so, can you explain/suggest some mathematical/computational intuition/literature?
Jun 6, 2023 at 5:49 history edited Helmut CC BY-SA 4.0
edit for the comments and current answers
Jun 6, 2023 at 5:32 history edited Helmut CC BY-SA 4.0
edit for the comments and current answers
Jun 5, 2023 at 18:14 answer added Hilmar timeline score: 2
Jun 5, 2023 at 18:11 comment added robert bristow-johnson A 32-bit IEEE-754 float can represent every signed 25-bit integer exactly. If the output of the ADC has 24-bit resolution, that is every value is one of $2^{24}$ values, that can be represented exactly, with no loss of data, by a 32-bit float.
Jun 5, 2023 at 18:07 history edited Helmut CC BY-SA 4.0
clarifications
Jun 5, 2023 at 18:03 history edited Helmut CC BY-SA 4.0
corrected spelling
Jun 5, 2023 at 17:56 history asked Helmut CC BY-SA 4.0