title: Bug in Math.Abs
body: <p>I want to convert a very large negative number in C# to a positive value, but I know Math.Abs can fail when you hit <code>Decimal.MaxValue</code>. I know this number is very large, but there is a slight chance the the data coming over my network may have this value, or larger. I was wondering if there is away to just flip the sign bit of the number in C#.</p>
  
  <p>Here is my code right now:</p>
  
  <pre><code>int bucket = Math.Abs(sdmpobject.SnapshotHandle.GetHashCode()) % numPartitions;
  </code></pre>
  
  <p>This uses <code>Math.Abs()</code>, I am just wondering if there is away to only flip the sign bit?</p>