Rational Developer for System z
COBOL for Windows, Version 7.5, Programming Guide


Handling differences in IEEE and hexadecimal data

To avoid most problems with the different representation between IEEE and hexadecimal floating-point data, use the FLOAT(S390) compiler option.

The Windows-based workstation represents floating-point data using the IEEE format. The mainframe uses the zSeries hexadecimal format. The following table summarizes the differences between normalized floating-point IEEE and normalized hexadecimal for USAGE COMP-1 data and USAGE COMP-2 data.

Table 67. IEEE contrasted with hexadecimal
Specification IEEE for COMP-1 data Hexadecimal for COMP-1 data IEEE for COMP-2 data Hexadecimal for COMP-2 data
Range 1.17E-38* to 3.37E+38* 5.4E-79* to 7.2E+75* 2.23E-308* to 1.67E+308* 5.4E-79* to 7.2E+75*
Exponent representation 8 bits 7 bits 11 bits 7 bits
Mantissa representation 23 bits 24 bits 53 bits 56 bits
Digits of accuracy 6 digits 6 digits 15 digits 16 digits
* Indicates that the value can be positive or negative.

For most programs, these differences should create no problems. However, use caution when porting if your program depends on hexadecimal representation of data.

Performance consideration: In general, zSeries floating-point representation makes a program run more slowly because the software must simulate the semantics of zSeries hardware instructions. This is a consideration especially if the FLOAT(S390) compiler option is in effect and a program has a large number of floating-point calculations.

Examples: numeric data and internal representation

related references
FLOAT


Terms of use | Feedback

Copyright IBM Corporation 1996, 2008.
This information center is powered by Eclipse technology. (http://www.eclipse.org)