title: Difference between signed and unsigned data types?
body: <pre><code>main()
  {
      char i=255;
      printf("\n%x\n",i);
  }
  </code></pre>
  
  <p>output:<code>ffffffff</code></p>
  
  <pre><code>main()
  {
      u_char i=255;
      printf("\n%x\n",i);
  }
  </code></pre>
  
  <p>output:<code>ff</code></p>
  
  <p>What is happening here? Kindly explain the output to me with some good links. This is a very basic thing I guess and I am getting really confused... </p>