Previous Page | Next Page

Data Representation

Representation of Numeric Variables


Floating-Point Representation

To store numbers of large magnitude and to perform computations that require many digits of precision to the right of the decimal point, SAS stores all numeric values in 8-byte floating-point (real binary) representation. Details about how floating-point numbers are represented and the factors that can affect your numeric calculations are provided in Floating-Point Representation on IBM Mainframes in SAS Language Reference: Concepts.


Representation of Integers

When processing in a z/OS environment, you should also be aware of the way that SAS stores integers. Like other numeric values, SAS maintains integer variables in 8-byte floating-point (real binary) representation. But under z/OS, outside of SAS, integer values are typically represented as 4-byte (fixed point) binary values using two's complement notation. SAS can read and write these values using informats and formats, but it does not process them internally in this form. SAS uses floating-point representation internally.

You can use the IBw.d informat and format to read and write the binary integer values used under z/OS. Each integer uses 4 bytes (32 bits) of storage space; thus, the range of values that can be represented is from -2,147,483,648 to 2,147,483,647.

Previous Page | Next Page | Top of Page