Am 19.07.2013 22:30, schrieb Stefan Weigel:
> 
>> Jetzt brauche ich noch einen Befehl, um die Dits zu verdrehen:
>> aus 1 eine 0 und aus 0 eine 1!
> 
> Da fällt mir spontan =WECHSELN() ein.
> 
> Zum Beispiel so:
> 
> =WECHSELN(WECHSELN(WECHSELN(A1;"0";"x");"1";0);"x";"1")
> 
> Das verwandelt 1010 in 0101. Geht vielleicht auch eleganter.

=RECHTS(DEZINBIN(-BININDEZ(A1)-1);LÄNGE(A1))

Das wandelt die Binärdarstellung in A1 in einen Dezimalwert um. Dieser
wird dann negiert, und noch 1 davon abgezogen[1]. Das Ergebnis wird nun
wieder in eine Binärdarstellung umgewandelt, und schließlich auf die
passende Länge gekürzt.

Aber ob das wirklich eleganter ist, wage ich zu bezweifeln.

[1] Hintergrund dieser Rechenoperation ist, daß bei Zahlen der negative
Wert immer als Zweierkomplement darstellt wird, während eine bitweise
Invertierung das Einerkomplement bedeutet. Das Zweierkomplement von z.
B. -1 (also der negative Wert von bin 00000101) ist hexadezimal FF,
binär 11111111; das wäre aber das Einerkomplement von 0. Um auf das von
Dir gesuchte Einerkomplement für -1, also 11111110, zu kommen, musst Du
vom Zweierkomplement nochmal den Wert 1 abziehen.



Wolfgang
-- 


-- 
Liste abmelden mit E-Mail an: [email protected]
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Antwort per Email an