title: What is the fastest way to transpose the bits in an 8x8 block on bits?
body: <p>I'm not sure the exact term for what I'm trying to do. I have an <code>8x8</code> block of <code>bits</code> stored in <code>8 bytes</code>, each byte stores one row. When I'm finished, I'd like each byte to store one column.</p>
  <p>For example, when I'm finished:</p>
  <pre><code>Byte0out = Byte0inBit0 + Bit0inByte1 + Bit0inByte2 + Bit0inByte3 + ...
  Byte1out = Bit1inByte0 + Bit1inByte1 + Bit1inByte2 + Bit1inByte3 + ...
  </code></pre>
  <p>What is the <em>easiest</em> way to do this in <strong>C</strong> which performs well? This will run on a dsPIC microcontroller</p>