title: Converting 0xFF gives me -1 -> Signed vs Unsigned?
body: <p>Here is my code: </p>
  
  <pre><code>byte b = (byte) 0xFF;
  System.out.println(b);
  </code></pre>
  
  <p>I expect to see <code>255</code>, but instead I see <code>-1</code>. What's happening? Is the compiler using a signed instead of an unsigned byte?</p>