I've found that most compilers' bools are implemented as chars, so no matter what there's wasted bits. When I code in C, I use chars for Booleans too, not ints.

Objective C's bool type is kinda weird, in that it's all caps (BOOL), and for the constants, instead of true/false, it's YES/NO.