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

Antwort per Email an