文字と数値は本来別物
符号付きとか気にする時点で既に危険な領域に足を踏み入れている

8bitの数値にはint8_tやuint8_tを使って
charは文字用(数値じゃない)と考えるのがイマドキの基本では