The limits for built-in types are mostly limited by hardware constraints. x64s typically use IEEE 754 for their floating point data, as defined in the FPA standard (hardware coprocessor).
In any case, how things are internally represented and handled may differ, as you noted.
The representation of floating point type values ββis implementation-defined
the compiler usually has knowledge (especially with reference to the source code that generates the code) of the base target system, and therefore it can select the correct set of instructions when requested using fp arithmetic.
You can always define your own data type, which itself manages the physical resources. The term you refer to may be arithmetic of arbitrary accuracy (usually much slower if your data matches what the equipment offers, you should go for it).
In special cases (for example, some built-in modules where there is no FPU or floating point operations cannot be performed), emulation can be used. It is cheaper (fewer transistors), although slower.
Marco A.
source share