The one thing you'd lose would be two's complement trickery. Addition and subtraction in BCD actually are fundamentally different algorithms, so that's something to worry about. But then signedness mismatches are themselves a historical footgun, so you could spin this away too, I think.
But... beyond that this could absolutely be done. And it's also true that a lot of traditional bugs with FPU/brain precision mismatch would be fixed in the process.
I don't know that it's an architecture I'd pick, but it's not something to reject out of hand either. It's worth discussing and not downvoting.
> Fun fact: you can count to hexadecimal on the fingers of one hand.
> The way it works is that each of your four fingers has four well-defined places on them: the three joints, plus the tip. You use your thumb to point at one of these. The first finger represents 1-4, the second 5-8, the third 9-12, the fourth 13-16. You count up and down by moving your thumb.
(...)
> As a special bonus: if you point to the fleshy pads of the fingers instead of the joints, you can use the same system for base 12.
Please teach new programmers the number type stack first.
Also I think your answer is unnecessarily nitpicky. Sentence 'floats can't represent "simple" values like 0.1 (...)' is perfectly clear to everyone on HN, I hope. In fact, I disagree that changing "values" here to a more precise mathematical term would improve anything.
That's an interesting philosophical question. Does M_PI represent a rational number?
(M_PI isn't mentioned in my copy of the C spec, unless I just can't find it.)
But we have great native support for approximating real numbers instead. (Because computing is designed first and foremost to make numerical methods efficient.)
The exist so that trigonometry and logarithms work properly in numerical methods. (A vastly more important problem than getting '0.1' to print pretty on the screen.)
There is no such thing as a 'value' in mathematics, and fixating on 0.1 in particular is pointless.
tldr - everyone should learn the math behind this first.