5 + 5 + 5 + 1 + 1 + 1 + 1 = 19
19bitar / 8 = 2.375 bytes, dvs det krävs 3 hela bytes för att hålla 19 bitar.
Har jag missat något väsentligt?
Kod: Markera allt
#include <stdio.h>
struct Time
{
unsigned char
b0 : 5,
b1 : 5,
b2 : 5,
b3 : 1,
b4 : 1,
b5 : 1,
b6 : 1;
};
int main()
{
printf("sizeof(Time) = %d\n", sizeof(struct Time));
return 0;
}