title: How does little-endian processor save a number in their memory in C?
body: <pre><code>short a = 0x1234;
  char *p = &amp;a;
  printf("%x%x", *p, *(p+1));
  
  output
  3412
  </code></pre>
  
  <p>I'm curious about how memory store a value 0x1234. I firstly thought 0x1234 is saved as 0x3412(reversed per byte) in memory, but according to lsb 0 numbering, it seems right that memory saves 0x1234 as 0x2c48(reversed per bit) I think that the value 0x1234 is saved in memory as 0x2c48 and little-endian cpu regards 0x2c48 as 0x1234. Is this correct?</p>