5 ms·
What would be the most practical range for a hypothetical 1-bit floating point type (float1_t)? Zero and one? Zero and infinity? NaN and infinity?
by cpeterso 3y ago
What would be the most practical range for a hypothetical 1-bit floating point type (float1_t)? Zero and one? Zero and infinity? NaN and infinity?
- Dylan16807 3y agoAs far as successful calculations go, NaN is useless and infinity is next to useless. And any nonzero finite number might as well be 1 to make it easier to think about. 0 and 1 would work, as long as you have a final scaling factor per node. -1 and 1 should work too. Also the entire concept of a floating point is weak enough at 3-4 bits and collapses entirely when you have 1 or 2.
- invalidator 3y agoI'd say a type which doesn't have both a significand and an exponent isn't a float at all. How can you have a floating point with no ability to move the point? To have something IEEE754-like you'd need a sign, significand, and exponent. That gets you +/-(0, 1, Inf, Nan). Add another bit to the exponent if you want non-integer values. That's the minimum for what I'd call a float. If you really want to strip it down to one bit, you should choose which of those bits to keep. Significand gives you (0,1), which is the same as a uint1_t. Exponent arguably gives you (0, Inf). Sign gives you (-1,1). Of those, I'd say the sign-bit, giving -1 and 1, is maybe the most practical, but it's not a complete float.
- Y_Y 3y agoThree-bit floats have been the subject almost serious research, http://tom7.org/nand/nand.pdf http://tom7.org/nand/nand.pdf