title: Why is Int32's maximum value 0x7FFFFFFF?
body: <p>I saw in MSDN documents that the <a href="https://docs.microsoft.com/en-us/dotnet/api/system.int32.maxvalue?redirectedfrom=MSDN&amp;view=netframework-4.8" rel="nofollow noreferrer">maximum value of <code>Int32</code> is <code>2,147,483,647</code></a>, hexadecimal <code>0x7FFFFFFF</code>.</p>
  
  <p>I think, if it's <code>Int32</code> it should store 32-bit integer values that finally should be <code>4,294,967,295</code> and hexadecimal <code>0xFFFFFFFF</code>.</p>
  
  <p>My question is why <code>Int32</code> stores 31-bit integer values?</p>