# PDS4 Binary Data Type Definitions

Following is a glossary of data type definitions for values in data objects stored in binary (i.e., hardware) formats, extracted from the PDS4 information model and related documents.

Definitions for ASCII string representations are on the PDS4 ASCII Data Type Definitions page.

**Last update:** *2015-05-18, A.C.Raugh*, Master Schema version 1.4.0.0 (no changes)

## Contents

- 1 Binary Representations
- 1.1 ComplexLSB16
- 1.2 ComplexLSB8
- 1.3 ComplexMSB16
- 1.4 ComplexMSB8
- 1.5 IEEE754LSBDouble
- 1.6 IEEE754LSBSingle
- 1.7 IEEE754MSBDouble
- 1.8 IEEE754MSBSingle
- 1.9 SignedBitString
- 1.10 SignedByte
- 1.11 SignedLSB2
- 1.12 SignedLSB4
- 1.13 SignedLSB8
- 1.14 SignedMSB2
- 1.15 SignedMSB4
- 1.16 SignedMSB8
- 1.17 UnsignedBitString
- 1.18 UnsignedByte
- 1.19 UnsignedLSB2
- 1.20 UnsignedLSB4
- 1.21 UnsignedLSB8
- 1.22 UnsignedMSB2
- 1.23 UnsignedMSB4
- 1.24 UnsignedMSB8

## Binary Representations

#### ComplexLSB16

- This data type consists of a pair of consecutive floating point values of type
**IEEE754LSBDouble**, the sequentially first representing the real part of a complex value and the second representing the imaginary part.

#### ComplexLSB8

- This data type consists of a pair of consecutive floating point values of type
**IEEE754LSBSingle**, the sequentially first representing the real part of a complex value and the second representing the imaginary part.

#### ComplexMSB16

- This data type consists of a pair of consecutive floating point values of type
**IEEE754MSBDouble**, the sequentially first representing the real part of a complex value and the second representing the imaginary part.

#### ComplexMSB8

- This data type consists of a pair of consecutive floating point values of type
**IEEE754MSBSingle**, the sequentially first representing the real part of a complex value and the second representing the imaginary part.

#### IEEE754LSBDouble

- This data type consists of 8 bytes defining a double-precision floating point value as described in the IEEE 754 standard for hardware representation. It is stored so that the least significant byte - the byte containing the lowest-order bits of the mantissa, is sequentially first in storage.

#### IEEE754LSBSingle

- This data type consists of 4 bytes defining a single-precision floating point value as described in the IEEE 754 standard for hardware representation. It is stored so that the least significant byte - the byte containing the lowest-order bits of the mantissa, is sequentially first in storage.

#### IEEE754MSBDouble

- This data type consists of 8 bytes defining a double-precision floating point value as described in the IEEE 754 standard for hardware representation. It is stored so that the most significant byte - the byte containing the bits of the exponent, is sequentially first in storage.

#### IEEE754MSBSingle

- This data type consists of 4 bytes defining a single-precision floating point value as described in the IEEE 754 standard for hardware representation. It is stored so that the most significant byte - the byte containing the bits of the exponent, is sequentially first in storage.

#### SignedBitString

- This data type is a string of bits, not necessarily falling on byte boundaries, which represents an integer that may be positive or negative. If negative, it is in two's complement form, so that the first (leftmost) bit can be interpreted as the sign bit.

#### SignedByte

- This data type is a small, two's-complement integer in the range -128 to 127, stored in a single byte.
**Usage Note:**Any field in a binary table with this data type*must*have a <field_length> of one byte, but**schema validation does not check this**as of this writing.

#### SignedLSB2

- This data type is a signed, two-byte, two's-complement integer stored so that the lower-order byte is sequentially first in storage.

#### SignedLSB4

- This data type is a signed, four-byte, two's-complement integer stored so that the lowest-order byte is sequentially first in storage.

#### SignedLSB8

- This data type is a signed, eight-byte, two's-complement integer stored so that the lowest-order byte is sequentially first in storage.
**Usage Note:**This is not a widely-supported data type. SBN recommends you avoid using it.

#### SignedMSB2

- This data type is a signed, two-byte, two's-complement integer stored so that the higher-order byte is sequentially first in storage.

#### SignedMSB4

- This data type is a signed, four-byte, two's-complement integer stored so that the highest-order byte is sequentially first in storage.

#### SignedMSB8

- This data type is a signed, eight-byte, two's-complement integer stored so that the highest-order byte is sequentially first in storage.

**Usage Note:**This is not a widely-supported data type. SBN recommends you avoid using it.

#### UnsignedBitString

- This data type indicates a string of bits, not necessarily aligned on a byte boundary, which represent a non-negative integer. In this case the first (left most) bit is part of the value and
*not*a sign bit.

#### UnsignedByte

- This data type indicates a single byte which contains a small integer in the range 0 to 255.
**Usage Note:**Any field in a binary table with this data type*must*have a <field_length> of one byte, but**schema validation does not check this**as of this writing.

#### UnsignedLSB2

- This data type is an unsigned, two-byte integer stored so that the lower-order byte is sequentially first in storage.

#### UnsignedLSB4

- This data type is an unsigned, four-byte integer stored so that the lowest-order byte is sequentially first in storage.

#### UnsignedLSB8

- This data type is an unsigned, eight-byte integer stored so that the lowest-order byte is sequentially first in storage.
**Usage Note:**This is not a widely-supported data type. SBN recommends you avoid using it.

#### UnsignedMSB2

- This data type is an unsigned, two-byte integer stored so that the higher-order byte is sequentially first in storage.

#### UnsignedMSB4

- This data type is an unsigned, four-byte integer stored so that the highest-order byte is sequentially first in storage.

#### UnsignedMSB8

- This data type is an unsigned, eight-byte integer stored so that the highest-order byte is sequentially first in storage.

**Usage Note:**This is not a widely-supported data type. SBN recommends you avoid using it.