Arithmetic underflow and the 2's compliment representation of numbers is serious problems in writing algorithms, especially when dealing with financial transactions. A lot of developers skirt around this problem by using double precision, but that is asking for trouble in applications--such as financial applications--that are more sensitive to these problems.
To get around this, different languages and libraries have implemented objects allow for either fixed or arbitrary precision. Java has BigDecimal, python has decimal, and various languages can take advantage of bc.
Objective-C--via the Cocoa library--has NSDecimalNumber. It isn't quite an arbitrary precision library, but is suitable for a wide range of applications that need precise mathematical calculations.