Take the 2-minute tour ×  I understand that this might be a
loaded question. For example, in Sql Server 2008, doing DECLARE
@someNum NUMERIC(10); means that the range of the variable will
be limited by 10 digits. In other languages such as C, Java,
etc. the standards for representing whole and fractional numbers
are different. The range of the values is being sliced by
multiples of bytes, and this is understandable, due to the way
hardware works. A language could provide something that most
hardware does not yet support, such as a 256-bit integer type,
which will work fast on a 64-bit computer, if it is implemented
correctly.  The numeric types in the databases seem to be not
tied to underlying hardware. I understand that the values might
need to be null-ablle, which can cost a bit or two, but why such
arbitrary precision that does not seem to optimize storage or
calculation speed?  Perhaps databases do not need to perform
numeric computations often. Perhaps digit width of a column is a
natural extension of c