если процессор 32-разрядный, и вся его математики с 32-разрядными числами, нафига ему ваши 8-разрядные char, компилятор из них так же сделает 32 разрядные, и хранить в памяти будет как 32 разрядные, заполняя остальные разряды нулями
он даже boolean 32-разрядыми будет делать
поэтому стоит использоваться тот тип, который родной для процессора
а вот для 8-разрядных микроконтроллеров, там да, там char родной, и если укладывается в него все что можно, то его и стоит использовать
и boolean там будет 8-разрядный