title: What does the unsigned keyword do here?
body: <p>I wrote some C++ code to show ASCII characters on a console which I found in a book i was reading. The code looked like this:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  int main()  
  {  
      for (unsigned char i = 32; i&lt;128; i++)  
         cout &lt;&lt; i;  
      int response;  
      cin &gt;&gt; response;  
      return 0;  
  }
  </code></pre>
  
  <p>When I take away the <code>unsigned</code> keyword and use <code>signed</code> instead, the results become infinite and the PC beeps until I shut off the executable file. But when I use an <code>int i</code> variable instead I don't need to unsign the variable. Why is that?</p>