Chapter Contents

Previous

Next
PDw.d

PDw.d



Writes values in IBM packed decimal format

Numeric
Width range: 1-16 bytes
Default width: 1
Decimal range: 0-31
Alignment: left
OS/390 specifics: IBM packed decimal format


Details
See Also


Details

In packed decimal format, each byte represents two decimal digits. An IBM packed decimal number consists of a sign and up to 31 digits, thus giving a range of 1031 -1 to -1031 + 1. The sign is written in the rightmost nibble. (A nibble is four bits or half a byte.) A hexadecimal C indicates a plus sign, and a hexadecimal D indicates a minus sign. The rest of the nibbles to the left of the sign nibble represent decimal digits. The hexadecimal values of these digit nibbles correspond to decimal values; therefore, only values between '0'x and '9'x can be used in the digit p sitions.

If an overflow occurs, the value that is written is the largest value that fits into the output field; the value will be positive, negative, or unsigned, as appropriate.

Here are several examples of packed decimal format:

Value Format Results (Hex) Notes
-1234 pd3.
01234D

1234 pd2.
999C
overflow occurred
1234 pd4.
0001234C

1234 pd4.2
0123400C
a d value of 2 causes the number to be multiplied by 102

Note:   In these examples, the Value column represents the value of the data, and the Results column shows a hexadecimal representation of the bit pattern written by the corresponding format. (You cannot view this data in a text editor, unless you can view it in hexadecimal representation.)  [cautionend]

See Also


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.