A char is signed, a byte is not.
On the right side of an equal sign, variables are converted to 16 bit int (or higher) PRIOR to arithmetic.
Conversion from 16 bits to 8 bits across the equal sign may be a simple truncation.
Think bits, not decimal values.