Integer -> LSB invertieren

#1679786
Lesenswert?

Hallo,
ich habe ein Problem, und weiß nicht weiter.

Ich habe einen Integer z.B. 1010 0100b und möchte das LSB invertieren, 
habe aber keine Ahnung, wie ich hier vorgehen soll.

Zuerst habe ich an folgende Lösung gedacht, Integer in Bit Array, und 
das Feld am LSB mit einer Funktion so verknüpfen, damit das LSB 
invertiert ist.

MfG
#1679805
Lesenswert?

Sid schrieb:
> Zum Beispiel mit +1 ?

Ja, wäre grundsätzlich natürlich absolut richtig, aber in meinem Fall 
nicht möglich, da ich zum Beispiel von einem Wert A5hex auf A4hex 
schließen muss bzw. auch umgekehrt. Bisschen kompliziert erklärt, aber 
in meiner Anwendung funktioniert das leider nicht.

Vgl:   0b0100  +  1 =   0b0101

       0b0101  +  1 =   0b0110
Resultat: Stimmt natürlich, aber in meiner Anwendung darf das nicht der 
Fall sein.
#1680044
Lesenswert?

Karl heinz Buchegger schrieb:
> Johnny Knot schrieb:
>
>> Zuerst habe ich an folgende Lösung gedacht, Integer in Bit Array, und
>> das Feld am LSB mit einer Funktion so verknüpfen, damit das LSB
>> invertiert ist.
>
> Grundsätzlich nicht so falsch, aber zu kompliziert gedacht.
>
>   int i;
>
>   i = ...
>
>   i = i ^ 0x0001;    // das LSB mit einem XOR flippen

Genau so habe ich mir das vorgestellt. Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren