Hi,
> > The storage allocation of a char may be 16-bits, 32-bits or whatever, with > > only 8-bits actually being used. > > A "char" is always at least the size of the smallest allocation unit for the > architecture. So for a dsp with 16-bit or 32-bit chars, a "char" is 16-bit > or 32-bit wide and you can use all these bits. every conforming implementation has stdint.h with e. g. uint_fast8_t so the smallest data type always has 8 bits. A workaround for the casting bug would be using a union of one uint_fast64_t and one uint_fast8_t. Regards, Rolf
