If "unsigned char" is used as the type of the fields instead of "unsigned" you will get the desired result, at least if you are using the 4.1a VAX C compiler.