[gelöst] awk Binärzahl-Arithmetik

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
tuxfreund
Beiträge: 58
Registriert: 01.12.2009 19:19:46

[gelöst] awk Binärzahl-Arithmetik

Beitrag von tuxfreund » 04.12.2009 19:27:39

Hallo

Ich finde keinen Lösungsansatz für folgendes Problem:
Ich muss eine Dezimalzahl ins Binärformat wandeln, danach überprüfen ob Bit 7 gesetzt ist.
Das Bit entspricht also dem Zahlenwert 2 ^6 =64. Erst dachte ich, ich erfinde irgendeine x mod y Formel, um
die Binärwandlung zu verhindern. Diese Formel sollte in diesem (schon funktionierenden) Befehl eingefügt werden:
awk '{FS=";"} $7 == 2 || $7 == 7 || $7 == FORMEL' gamelist.csv > probe.txt
Erklärung:
Wenn Spalte 7 exakt "2" ist
oder
Wenn Spalte 7 exakt "7" ist
oder
Wenn (unter anderem auch) Bit 7, aus dem ins Binärformat gewandeltem Zahlenwert aus Spalte 7, gesetzt ist
dann schreibe.....

Dankeschön.
PS Ich suche noch ein gutes awk Buch. (Aber nicht " awk für Dummies, Schnellkurs 15 Seiten) 8)
Zuletzt geändert von Meillo am 05.12.2009 12:16:28, insgesamt 1-mal geändert.
Grund: [gelöst] im Titel hinzugefügt

tuxfreund
Beiträge: 58
Registriert: 01.12.2009 19:19:46

Re: awk Binärzahl-Arithmetik

Beitrag von tuxfreund » 04.12.2009 19:43:58

Korrektur: Die Binärwandlung soll auf Spalte 13 angewendet werden.

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: awk Binärzahl-Arithmetik

Beitrag von GoKi » 04.12.2009 19:47:31

mit gawk:
2^7 bitweise und-Verknüpfen mit der Eingabe und schauen, ob das größer 0 ist.
http://www.gnu.org/manual/gawk/html_nod ... tions.html

z.B.

Code: Alles auswählen

and($7, lshift(1, 6)) > 0
MfG GoKi
:wq

tuxfreund
Beiträge: 58
Registriert: 01.12.2009 19:19:46

Re: awk Binärzahl-Arithmetik

Beitrag von tuxfreund » 05.12.2009 00:09:37

Funktionier! Vielen Dank. :D

Antworten