digital logic uses 2 states to implement numbers (and functionality as well). Unfortunately 10 is not a power of 2, so any decimal will be an infinite (binary) fraction .
Infinites are bad for storage, so it gets rounded to finite binary fractions. There is a rounding error, and depending on the task these can add up.
Yes, computers suck at calculus. They are wrong almost every time, but at least they are fast.
In principle one could implement a decimal logic based on 10 different states (e.g. 10 voltage levels), but this is way too complicated for a miniscule benefit.
Latest Answers