public boolean[] getSortOrders() {
    return columnSortOrderIsDesc;
  }
Decimals are encoded in three pieces:Decimals are encoded in three pieces:

Sign:   1, 2 or 3 for smaller, equal or larger than 0 respectively
Factor: Number that indicates the amount of digits you have to move
        the decimal point left or right until the resulting number is smaller
        than zero but has something other than 0 as the first digit.
Digits: which is a string of all the digits in the decimal. If the number
        is negative the binary string will be inverted to get the correct ordering.

UNDONE: Is this example correct?
  Example: 0.00123
  Sign is 3 (bigger than 0)
  Factor is -2 (move decimal point 2 positions right)
  Digits are: 123

@param buffer
@param dec
@param invert
@param scratchBuffer
serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java