Frage zu Bitmanipulation

Chris72622:
wie kopiert man die Bits 0-6 eines Bits an die Bits 0-6 eines unsigned longs, ohne dass sich die oberen (linken) Bits des unsigned longs ändern?

In Langform zum Verstehen mit Kommentaren:

  // die niederwertigsten 7 Bits löschen durch Rechtsschieben und Linksschieben
  target= (target>>7)<<7; 
  // Und dann eine bitweise Oder-Verknüpfung anwenden
  target= target | basis;

Das kann man aber auch als Einzeiler schreiben.

Nachtrag: Kleine Korrektur "Bits 0-6" sind ja sieben Bits.