private static string ConvertToSignedDecimal(DataValue value) { var isNegative = false; BitValue[] bitValue = value.CopyBitValues(); if (bitValue[bitValue.Length - 1] == BitValue.One) { isNegative = true; bitValue.Negate(ref bitValue); } long total = RadixTypeExtensions.GetUnsignedTotal(bitValue); switch (total) { case RadixTypeExtensions.FLOATING: return("X"); case RadixTypeExtensions.ERROR: return("*"); default: return(isNegative ? $"-{total}" : total.ToString()); } }
private static string ConvertToUnsignedDecimal(DataValue value) { long total = RadixTypeExtensions.GetUnsignedTotal(value.CopyBitValues()); switch (total) { case RadixTypeExtensions.FLOATING: return("X"); case RadixTypeExtensions.ERROR: return("*"); default: return(total.ToString()); } }