char型の変数に任意の8bitのビットイメージを16進リテラルで代入するときの
やり方ってどうなるの?

例えば単純に、
char hoge = (char)0x88;

とやってもどのコンパイラでも正しく10001000bのビットイメージになると期待していいんだろうか?
切捨てして0x7Fにしちゃうコンパイラとかあったりしない?