Right-Shift oder Truncate ???



  • Hallo,

    vielleicht könnt Ihr mir bei einem Problem helfen:

    ich habe eine Zahl und möchte die ersten x (4) Stellen abschneiden:

    soll so ausehen:
    1111000000100011
    000000100011

    Wenn ich nun rechts-shift (y >> x) mache kommt folgendes raus:

    1111000000100011
    111100000010

    Kennt Ihr eine Möglichkeit damit ich auf oben genanntes komme? Wäre sehr dankbar.

    Viele Grüße,

    herrbauer



  • Entweder rausschieben (val << x) und wieder reinschieben (val >> x), oder ausmaskieren (val & (((0U)>>x))). Auf jeden Fall auf integer promotion achtgeben.



  • So Danke,

    ich habs auch Bit-weises UND! So komme ich auf das gewünschte Ergebnis!
    🙂


Anmelden zum Antworten