9.1. Using Platform-Specific Datatypes
Integers are typically supported by providing types with various ranges. For instance, the programming language Java supports two different integer types (int
and long
), while the MySQL DBMS supports five different integer types (TINYINT, SMALLINT, MEDIUMINT, INT and BIGINT).
The mathematical concept of decimal numbers is often supported in the form of two different kinds of computational number types:
- floating point numbers, represented with base 2, typically called
FLOAT
orDOUBLE
, which are appropriate for calculations where approximate results are acceptable, and - arbitrary-precision numbers, represented with base 10, typically called
DECIMAL
, which are appropriate for currency amounts and financial calculations in business apps.
Certain decimal numbers can't be exactly represented as machine numbers with base-2. For instance, the decimal number 0.1 can't, and so we get results like 1.0 - 0.1 = 0.8999999. FLOAT
often denotes a floating point number type with a smaller range (typically represented with 4 Bytes), while DOUBLE
allows floating point numbers with a double size (typically represented with 8 Bytes).