Why use int instead of byte?

larryd:
A variable of type 'char' ... gives the capability of a negative number.

char has to be assumed to be neither signed nor unsigned; especially if the code is meant to be portable. I believe the phrase is "implementation defined behavior".