/* Inspektion der internen Zahlenrepräsentation */ #include typedef struct { unsigned b00 : 1; unsigned b01 : 1; unsigned b02 : 1; unsigned b03 : 1; unsigned b04 : 1; unsigned b05 : 1; unsigned b06 : 1; unsigned b07 : 1; unsigned b08 : 1; unsigned b09 : 1; unsigned b10 : 1; unsigned b11 : 1; unsigned b12 : 1; unsigned b13 : 1; unsigned b14 : 1; unsigned b15 : 1; } bitFeld; typedef union { short zahl; bitFeld feld; } zahlOderFeld; void druckFeld(zahlOderFeld zf) { printf("%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u\n", zf.feld.b15, zf.feld.b14, zf.feld.b13, zf.feld.b12, zf.feld.b11, zf.feld.b10, zf.feld.b09, zf.feld.b08, zf.feld.b07, zf.feld.b06, zf.feld.b05, zf.feld.b04, zf.feld.b03, zf.feld.b02, zf.feld.b01, zf.feld.b00); } int main() { zahlOderFeld zf; zf.zahl = 3; druckFeld(zf); zf.zahl = -2; druckFeld(zf); return 0; }