public static void ToUInt32WithSign(int value, out uint resultValue, out bool negative) { negative = value < 0; resultValue = !negative ? (uint)value : value != int.MinValue ? (uint)-value : int.MaxValue + 1U; }