rechnest du etwa mit long long??? Da hat jemand Flash wie Heu... 
Ich lese es einfach mal aus der Kristallkugel, weil das geggesnippt ist und nicht zu ersehen. Falls es so ist, dann muss es heissen
Code:
bits |= 1ULL << ...
etc.
ausserdem hast du da ein gar wüstes Rumgecaste drinne,was zudem noch falsch ist (dcf wird die Adresse von bits);
Code:
dcf=(struct DCF*)(uint64_t)&bits
Wieder mit der Kristallkugel...
Code:
dcf = * ((struct DCF*) &bits);
Klarer wäre hier ne Union
Code:
typedef union
{
{
unsigned int start :1;
unsigned int minute :7;
unsigned int minute_parity:1;
};
uint64_t bits;
} dcf_t;
dcf_t dcf;
...
dcf.bits |= ...
printf ("%d\n", dcf.minute);
Falls es kein GNU-C sein soll sondern nur ANSI-C, anstatt der anonymen inneren Struktur einfach ne benamte nehmen.
Lesezeichen