Hallo Micha, > Danke, ich habe die Zahlen dezimal vorliegen, da genügt also ein > einfaches BITXOR(A1,255) - ein xor mit 0 ändert nichts.
Ja, da hat er sich vertan: 1 xor 1 = 0 ; 0 xor 1 = 1. > Jetzt geht es aber weiter: Ich brauche ein bitweises SHIFT. OK, ich > hab erstmal selbst gesucht und BITLSHIFT gefunden. Aber wo kann ich > angeben, von wie vielen Binärstellen ausgegangen wird. > Warum wird im Beispiel > "BITLSHIFT(6;1) ergibt 12" davon ausgeganen, dass die 6 als 0110 zu > interpretieren ist und nicht als 00000110? Hier wäre das Ergebnis > gleich, aber wenn ich 6 mit nur drei Stellen angebe (110) wird beim > SHIFT 101 daraus, also eine 5... Das sehe ich anders: bei einfachen "shiften" müsste aus "110" eine "100" werden. Die shift-Funktion entspricht einer Multiplikation bzw einer Division(ohne Rest) mit/durch 2. Du könntest das "Abschneiden" von n Stellen durch ein BITAND() erreichen. Bei drei stellen eben: BITAND(BITLSHIFT(6;1);7) In Binärschreibweise: BITAND(BITLSHIFT('110';1);'111') -> BITAND('1100';'111') -> '100' Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoe...@web.de / ________________________________/ -- Liste abmelden mit E-Mail an: users+unsubscr...@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