プログラミング言語 C や C++ の、char型はいままで符号付きと思い込んでいたら、調べると処理系定義とされているとの事です。 なので、下記の型は全て違う型として扱われるので注意が必要。
ちなみに、ARMCCでは char型は 符号無しで扱われていました。GCCでは符号付きのようです。
int8_t や uint8_t を使うのが最近の風潮のようです。
int8_t
uint8_t