S370FIBUw.d Informat

Reads unsigned integer binary (fixed-point) values in IBM mainframe format.
Category: Numeric

Syntax

S370FIBUw.d

Syntax Description

w
specifies the width of the input field.
Default:4
Range:1–8
d
specifies the power of 10 by which to divide the value. SAS uses the d value even if the data contain decimal points. This argument is optional.
Range:0–10

Details

The S370FIBUw.d informat reads unsigned integer binary (fixed-point) values that are stored in IBM mainframe format, including negative values that are represented in two's complement notation. Unsigned integer binary values are the same as integer binary values, except that all values are treated as positive. S370FIBUw.d reads integer binary values with consistent results if the values are created in the same type of operating environment that you use to run SAS.
Use S370FIBUw.d for unsigned integer binary data that are created in IBM mainframe format for reading in other operating environments.
Note: Different operating environments store integer binary values in different ways. This concept is called byte ordering. For a detailed discussion about byte ordering, see Byte Ordering for Integer Binary Data on Big Endian and Little Endian Platforms .

Comparisons

  • The S370FIBUw.d informat is equivalent to the COBOL notation PIC 9(n) BINARY, where n is the number of digits.
  • The S370FIBUw.d and S370FPIBw.d informats are identical.
  • S370FPIBw.d, S370FIBUw.d, and S370FIBw.d are used to read big endian integers in any operating environment.
    To view a table that shows the type of informat to use with big endian and little endian integers, see SAS Informats and Byte Ordering.
    To view a table that compares integer binary notation in several programming languages, see Integer Binary Notation and Different Programming Languages..

Example

You can use the INPUT statement and specify the S370FIBU informat. However, these examples use the informat with the INPUT function, where binary input values are described by using a hexadecimal literal.
x=input('7F'x,s370fibu1.);
y=input('F6'x,s370fibu1.);
SAS Statement
Result
put x=;
put y=;
127
246