Skip> It seems to me the right thing to do is to cook up a test in the Skip> configure script which checks the number of bits in an unsigned Skip> char ... Better yet, let's use CHAR_BIT: #if defined(CHAR_BIT) && CHAR_BIT == 8 ... fast case ... #else ... slow case ... #endif