code: public DecimalValue decodeDecimalValue() throws IOException {
  		boolean negative = decodeBoolean();
  
  		IntegerValue integral = decodeUnsignedIntegerValue(false);
  		IntegerValue revFractional = decodeUnsignedIntegerValue(false);
  
  		return new DecimalValue(negative, integral, revFractional);
  	}
docs: Decode a decimal represented as a Boolean sign followed by two Unsigned
  Integers. A sign value of zero (0) is used to represent positive Decimal
  values and a sign value of one (1) is used to represent negative Decimal
  values The first Integer represents the integral portion of the Decimal
  value. The second positive integer represents the fractional portion of
  the decimal with the digits in reverse order to preserve leading zeros.