Skip to content

Comment on An Interview with the Old Man of Floating-Point (1998)parent

Comments

I found it instructive to do 8-bit floating point. Keep it simple, 1 bit for sign, 3 bits for exponent, 4 for mantissa, and don't worry about the 'free' extra bit you get on the mantissa. Just compute - exactly! - the values those 256 patterns represent. Now, what pattern of the values emerges? How do the numbers around zero work, vs numbers on the extremes? Are there applications to use your 8-bit floats instead of, say, fixed-point 8-bit representations? Bonus: why do some graphics processors have 16-bit floats?

8-bit floating point numbers (in two variants, mu-law and A-law, which differed in the treatment of denormals, A-law was like IEEE floats, mu-law requires a longer explication), about the same as in your choice, have been used for the digitally-encoded telephone audio signals (PCM audio at 8 kHz sampling rate).

They are probably still used in various older communication equipments.

Using floating-point had the purpose to reduce the quantization noise in comparison to 8-bit fixed-point numbers to the level corresponding to 12-bit or 13-bit fixed-point numbers.

So this was effectively a method of compressing by 50% the bit rate of voice signals.

Later, much better audio compression algorithms have been developed, allowing e.g. a 10 times compression, and such algorithms are used in the modern mobile phones.

Nevertheless, 8-bit floating-point was used for many decades in telephony.

The smallest float you can do that still shows all the patterns is 5-bit (2-bit exponent). If you had only 1 bit for the exponent, you'd go straight from denormal to infinity.

Modern AI hardware is starting to do 8-bit float.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.