Binärformat, bitweise Operationen existieren? z.B. 16 # 7F, 16 # FF bsl 1

8

In erlang gibt es bitweise Operationen, die auf ganze Zahlen angewendet werden, zum Beispiel:

%Vor%

gibt es auch die Möglichkeit, ganze Zahlen in eine Folge von Bytes zu packen

%Vor%

ist es möglich, oder gibt es irgendwelche Operatoren oder BIFs, die bitweise Operationen (zB AND, OR, XOR, SHL, SHR) auf binär gepackten Daten ausführen können?

zum Beispiel (wenn bsl an Binärpaketen gearbeitet hat - was es nicht tut):

%Vor%     
Mike Hamer 24.12.2008, 02:31
quelle

2 Antworten

6

Probieren Sie es so aus:

%Vor%     
Hynek -Pichi- Vychodil 29.12.2008, 08:41
quelle
0

Mit den unbegrenzten Integer-Größen von Erlang können wir dies erreichen:

%Vor%

wie wir erwartet haben.

Beachten Sie, dass ich in meiner Lösung vorausgesehen habe, wie viele Verschiebungen ich benötigen würde (4), indem ich 4 '0s zu der ursprünglichen Zeichenfolge in der Binärdatei hinzufüge (16 # 0F ... die ersten 4 Positionen sind 0)

Ich bin mir nicht sicher, wie ich damit umgehen würde, wenn ich über die 'Grenze' des binären Containers hinausgehen müsste. Ich nehme an, Sie würden einfach UND mit 2 ^ Size-1.

    
Mike Hamer 24.12.2008 04:05
quelle

Tags und Links