title: BitArray creates bits in reverse order
body: <p>I have this code:</p>
  
  <pre><code>ASCIIEncoding ascii = new ASCIIEncoding();
  byte[] bytes= ascii.GetBytes("ok");
  </code></pre>
  
  <p>At this point, if i debug and look at what is in <code>byte</code> variable, i get:</p>
  
  <pre><code>111 107
  </code></pre>
  
  <p>which is what i expect. "o" is 111 "k" is 107</p>
  
  <p>Next,</p>
  
  <pre><code>BitArray bits = new BitArray(bytes);
  </code></pre>
  
  <p>At this point, if i debug and look at what is in <code>bits</code> variable, i get:</p>
  
  <pre><code>1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0
  </code></pre>
  
  <p>(the actual array has 'True' where 1 and 'False' where 0 above).</p>
  
  <p>I was wondering why this was happening and why the bit array is not populated as</p>
  
  <pre><code>0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 
  </code></pre>
  
  <p>instead.</p>