What about byte as in 6bits. Thats a valid item for
PDP-8 as one
intruction BSW swaps accumulator halfs. Also much of the character
IO was 6bit.
Unfortunately in C, a char has to at least be able to hold 255 unique
values (-127 to 127 if char is signed). There's also the problem of
pointer math since pointers to different chars have to have different
values. It's surmountable, but it increases the size of a pointer.
The way around this is to define a packed_char type for interfacing
with 6bit io routines...
typedef union tag_packed_char {
struct tag_chars { unsigned int a:6,b:6,c:6,d:6; };
unsigned int u;
} packed_char;
Eric