title: Why does my compiler use an 8-bit char when I'm running on a 64-bit machine?
body: <p>I am using the <strong>Microsoft Visual Studio 2013 IDE</strong>. When I compile a program in C++ while using the header <strong><code>&lt;climits&gt;</code></strong>, I output the macro constant <strong><code>CHAR_BIT</code></strong> to the screen. It tells me there are <em>8-bits</em> in my char data type (which is 1-byte in C++). However, Visual Studio is a <em>32-bit</em> application and I am running it on a <em>64-bit</em> machine (i.e. a machine whose processor has a 64-bit instruction set and operating system is 64-bit Windows 7).</p>
  
  <p>I don't understand why my char data type uses only 8-bits. Shouldn't it be using at least 32-bits (since my IDE is a 32-bit application), let alone 64-bits (since I'm compiling on a 64-bit machine)?</p>
  
  <p>I am told that the number of bits used in a memory address (1-byte) depends on the hardware and implementation. If that's the case, why does my memory address still only use 8-bits and not more?</p>