title: Casting from size_t to char and around
body: <p>I'm making the transition from C to C++11 now and I try to learn more about casting.
  At the end of this question you see a small program which asked a number as input and then shows it as number and as character. Then it is cast to a char, and after that I cast it back to a size_t. </p>
  
  <p>When I give 200 as input, the first cout prints 200, but the second cout prints 18446744073709551560. 
  How do I made it to print 200 again? Do I use the wrong cast? I have already tried different cast as dynamic and reintepret.</p>
  
  <pre><code>#include&lt;iostream&gt;
  
  using namespace std;
  
  int main(){  
    size_t value;
  
    cout &lt;&lt; "Give a number between 32 and 255: ";
    cin &gt;&gt; value;
  
    cout &lt;&lt; "unsigned value: " &lt;&lt; value &lt;&lt; ", as character: `" &lt;&lt; static_cast&lt;char&gt;(value) &lt;&lt; "\'\n";
  
    char ch = static_cast&lt;char&gt;(value);
    cout &lt;&lt; "unsigned value: " &lt;&lt; static_cast&lt;size_t&gt;(ch) &lt;&lt; ", as character: `"  &lt;&lt; ch &lt;&lt; "\'\n";
  }
  </code></pre>