Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Am 20.07.2013 10:13, schrieb Michael Höhne:

=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.

Ich hätte noch eine Lösung über den Dezmalwert (passende
2er-Potenz-1-Zahl) anzubieten, die ist aber auch nicht eleganter...

Was mich etwas wundert: Es gibt eine BITOR()- und eine BITAND()-
Funktion 

Stimmt; an die hab ich gar nicht gedacht.

aber das "BITNOT()" muss man sich über das Komplement selber
basteln...

Ein 'BITNOT(Zahl)' ist nix anderes als 'BITXOR(Zahl;0)' (0 xor 0 = 1,
und 1 xor 0 = 0).

Das bringt aber trotzdem nicht wirklich viel, wenn der Wert als String
vorliegt (was ziemlich wahrscheinlich ist, da es meines Wissens keine
Möglichkeit gibt, eine Zahl /direkt/ in Hexadezimal- oder Binärform
darzustellen). Einen String muss man tortzdem zuerst in eine Zahl und
nachher wieder zurück verwandeln:

| =RECHTS(DEZINBIN(BITXOR(BININDEZ(A1);0));LÄNGE(A1))

Wahrscheinlich könnte man auch was mit RegEx-Ausdrücken machen, aber 
ich fürchte, daß das höchstens /noch/ uneleganter sein wird.

Wolfgang
-- 


-- 
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.