/* Get Sign, NaturalUnits, and ConstantUnits of the QWORD data. */
BOOLEAN EdbGetNaturalIndex64(IN UINT64 Data64, OUT UINT64 *NaturalUnits, OUT UINT64 *ConstantUnits)
/* Get Sign, NaturalUnits, and ConstantUnits of the QWORD data. */
BOOLEAN EdbGetNaturalIndex64(IN UINT64 Data64, OUT UINT64 *NaturalUnits, OUT UINT64 *ConstantUnits)
{
  BOOLEAN  Sign;
  UINTN    NaturalUnitBit;
  Sign            = (BOOLEAN)RShiftU64 (Data64, 63);
  NaturalUnitBit  = (UINTN)(RShiftU64 (Data64, 60) & 0x7);
  NaturalUnitBit *= 8;
  Data64          = RShiftU64 (LShiftU64 (Data64, 4), 4);
  *NaturalUnits   = (UINT64)(Data64 & (LShiftU64 (1, NaturalUnitBit) - 1));
  *ConstantUnits  = (UINT64)(RShiftU64 (Data64, NaturalUnitBit) & (LShiftU64 (1, (60 - NaturalUnitBit)) - 1));
  return Sign;
}