C++では以下のように大丈夫そうですけど。 signed char と unsigned char は同表現と書いている 読み間違い?
A char, a signed char, and an unsigned char occupy the same amount of storage and have the same alignment requirements (3.9); that is, they have the same object representation. For character types, all bits of the object representation participate in the value representation. For unsigned character types, all possible bit patterns of the value representation represent numbers.