title: cout not printing unsigned char
body: <p>I am working on below code:</p>
  
  <pre><code>#include&lt;iostream&gt;
  #include&lt;stdio.h&gt;
  
  using namespace std;
  
  main() {
      unsigned char a;
      a=1;
      printf("%d", a);
      cout&lt;&lt;a;
  }
  </code></pre>
  
  <p>It is printing 1 and some garbage. </p>
  
  <p>Why <code>cout</code> is behaving so? </p>