3 ms·
The 32-bit subnormals are all the non-zero 32-bit floating point values between but not including -0.0000000000000000000000000000000000000117549435082228750796
by tialaramex 15d ago
The 32-bit subnormals are all the non-zero 32-bit floating point values between but not including
-0.000000000000000000000000000000000000011754943508222875079687365372222456778186655567720875215087517062784172594547271728515625 and +0.000000000000000000000000000000000000011754943508222875079687365372222456778186655567720875215087517062784172594547271728515625
Does that help you?
[Edited: correct decimal after noticing that my calculator defaulted to the wrong setting]
[And again because I think there's a bug in the last few digits, so debugging that's a fun activity for the weekend]
[And a third time because nope, those were correct and I can't type]
- gwbas1c 15d agoYes, that's a perfect explanation! (And thankfully, for when I work with small numbers, they are still much larger than that.)
- nayuki 15d agoVery interesting, you are right. The IEEE 754 standard defines positive/negative zero as not subnormal numbers. Mechanically speaking, the two zeros use the subnormal number format, so in that sense they are subnormal (but definitionally they aren't). Also, I guess FPUs treat zero differently from other subnormal numbers, which is why zero doesn't have a performance penalty. Relevant articles to read: https://stackoverflow.com/questions/73890260/why-is-zero-not-a-subnormal-number https://stackoverflow.com/questions/73890260/why-is-zero-not... , https://en.wikipedia.org/wiki/Sterbenz_lemma https://en.wikipedia.org/wiki/Sterbenz_lemma , https://en.wikipedia.org/wiki/Subnormal_number https://en.wikipedia.org/wiki/Subnormal_number