public void GetApproxParts(out int exp, out ulong man) {
if (this._iuLast == 0) {
man = this._uSmall;
exp = 0;
}
else {
int num2;
int index = this._iuLast - 1;
man = NumericsHelpers.MakeUlong(this._rgu[index + 1], this._rgu[index]);
exp = index * 0x20;
if ((index > 0) && ((num2 = NumericsHelpers.CbitHighZero(this._rgu[index + 1])) > 0)) {
man = (man << (num2 & 0x3f)) | (this._rgu[index - 1] >> (0x20 - num2));
exp -= num2;
}
}
}