Ada Programming/Attributes/'Machine Mantissa
Description
X'Machine_Mantissa is an Ada attribute where X is any floating point type.
Floating point types are represented as:
where
- sign is 1 or -1
- mantissa is a fraction in base radix
- radix is the hardware radix (usually 2)
- exponent is an integer
'Machine_Mantissa returns the maximum number of digits in the mantissa.
Example
withAda.Text_IO;procedureMachine_MantissaispackageT_IOrenamesAda.Text_IO;packageI_IOisnewAda.Text_IO.Integer_IO (Integer);beginT_IO.Put ("Mantissa of Float type = "); I_IO.Put (Float'); T_IO.New_Line; T_IO.Put ("Mantissa of Long_Float type = "); I_IO.Put (Long_Float'); T_IO.New_Line;endMachine_Mantissa;
The output with GNAT 4.6 on the x86-64 architecture is:
Mantissa of Float type = 24 Mantissa of Long_Float type = 53
See also
Wikibook
- Ada Programming
- Ada Programming/Attributes
- Ada Programming/Attributes/'Machine_Emax
- Ada Programming/Attributes/'Machine_Emin
- Ada Programming/Attributes/'Machine_Radix