I recommend that you do what the other answers suggest and use 0/1 or a bit instead, but if you really need to do this, can you distinguish the value from the unsigned byte to char in your code, and then to the signed byte? If you can, then 1 (00000001) discards 1, and 255 (11111111) discards -1
source
share