Number formats used in API

Many numbers do not fit into a single byte [0..255] range and for those there are conventions throughout our API on how to encode them.

BYTE

An 8-bit unsigned or signed value representing a decimal range of [0..255] or [-128..127] respectively. Bits are ordered the “usual” way with the MSB on the left and LSB on the right.

A couple of examples (decimal = bits):

UFIX 8.8

This is a 16-bit value in which 8 MSB represent the unsigned integer part of the number and the 8 LSB represent the fractional part. The fractional value is the LSB x 256, i.e. the smallest “increment” for this format is 1/256 or 0.00390625.

Numbers in this format represent a decimal range of [0.0..256).

A few examples (decimal = MSB, LSB):