IBM
mainframes, Hewlett Packard 9000, and most other UNIX systems store
bytes in one order, called big-endian. Those that are based on Intel,
or IBM compatible microcomputers and the VAX and Alpha computers manufactured
by Compaq store bytes in a different order called byte-reversed, or
little-endian.
Binary data stored in one order cannot be read by a computer that stores binary data
in the other order without additional processing taking place. When you are
designing SAS applications, try to anticipate how your data reads and chooses your
formats and informats accordingly.
SAS provides two sets of informats for reading binary data and corresponding formats
for writing binary data.
-
The IBw.d,
PDw.d,
PIBw.d,
and RBw.d informats
and formats read and write in native mode, that is, using the byte-ordering
system that is standard for the machine.
-
The S370FIBw.d,
S370FPDw.d,
S370FRBw.d,
and S370FPIBw.d informats
and formats read and write according to the IBM 370 standard, regardless
of the native mode of the machine. These informats and formats enable
you to write SAS programs that can be run in any SAS environment,
regardless of how numeric data are stored.
If a SAS program that reads and writes binary data runs on only one type of machine,
you can use the native mode informats and
formats. However, if you want to write SAS programs that can be run on multiple machines
using different byte-storage systems, use the IBM 370 formats and informats. The purpose
of the IBM 370 informats and formats is to enable you to write SAS programs that can
be run in any SAS environment, no matter what standard you use for storing numeric
data.
For example, suppose
you have a program that writes data with the PIBw.d format.
You execute the program on a microcomputer so that the data are stored
in byte-reversed mode. Then on the microcomputer that you run another
SAS program that uses the PIBw.d
informat to read the data. The data are read correctly because both
the programs are run on the microcomputer using byte-reversed mode. However,
you cannot upload the data to a Hewlett Packard 9000-series machine
and read the data correctly because they are stored in a form native
to the microcomputer but foreign to the Hewlett Packard 9000. To avoid
this problem, use the S370FPIBw.d format
to write the data; even on the microcomputer, this causes the data
to be stored in IBM 370 mode. Then read the data using the S370FPIBw.d informat.
Regardless of what type of machine you use when reading the data,
they are read correctly.