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
etc.Code:bits |= 1ULL << ...
ausserdem hast du da ein gar wüstes Rumgecaste drinne,was zudem noch falsch ist (dcf wird die Adresse von bits);
Wieder mit der Kristallkugel...Code:dcf=(struct DCF*)(uint64_t)&bits
Klarer wäre hier ne UnionCode:dcf = * ((struct DCF*) &bits);
Falls es kein GNU-C sein soll sondern nur ANSI-C, anstatt der anonymen inneren Struktur einfach ne benamte nehmen.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);







Zitieren

Lesezeichen