Hallo!

Euere Antoworten haben mir geholfen, das Grundprinzip hab ich verstanden.
@oberallgeier: nein, deine war schon auch hilfreich.^^

Eine kurze Zwischenfrage:
reg_32 |= (1 << MEINBIT15); /* FEHLER: Setzt die Bits 31 - 15, da
((int)1 << 15) == 0xFFFF8000 */
Was bedeuter dieses 0xFFFF8000 denn genau? wäre es das F wie im HEX-DEZ-System, so wäre die Zahl doch riesig.
Aber eben so macht man dass ja nicht.
Achja...falls das nicht klar war. Im obigen Beispiel wollte man das 15.Bit setzen, obwohl reg_32 eine 32-Bit-weite Variable ist.

Was ich versehe ist, dass das bei der Verschiebung den Rahmen eines normalen int sprengt. Aber wieso werden dann genau die Bit 31-15 gesetzt?

MfG Antro