title: Convert byte to sbyte without changing bits in C#
body: <p>I want to convert a byte to an sbyte, without changing any bits. </p>
  
  <pre><code>byte b = 0x84;
  sbyte sb = unchecked((sbyte)b);
  Console.WriteLine("0x" + Convert.ToString(b, 16));
  Console.WriteLine("0x" + Convert.ToString(sb, 16));
  </code></pre>
  
  <p>The result of this will be:</p>
  
  <pre><code>0x84
  0xff84
  </code></pre>
  
  <p>I understand what the result means and why it happens. However, I cannot seem to find out what I can do to avoid this behaviour. How can I copy the actual binary value of a byte and get it inside an sbyte?</p>