Unexpected behaviour of bitwise not on a byte

Maybe a byte is not always unsigned.

A byte is always unsigned. A char is signed. The range of values for a char is -128 to 127.