[gelöst] binär rechnen (AND / OR / XOR)

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Blaukraut
**
Beiträge: 22
Registriert: So, 11.01.2009 15:59
Wohnort: Allgäu

[gelöst] binär rechnen (AND / OR / XOR)

Beitrag von Blaukraut »

Hallo,
irgendwie finde ich keine Funktionen, um einfache binäre Rechnungen durchzuführen.
Damit meine ich nicht einfache logische Wahr-Falsch Abfragen und deren Verknüpfungen sondern die elementaren Rechnungen wie z.B.:
2 OR 4 = 10
oder
7 AND 2 = 2

Hintergrund: ich möchte größere Zahlen im Binärformat darstellen.
Die Funktion DEZINBIN kann nur max. 10 Bit verarbeiten, also max. die Dezimalzahl 1023.
Ich möchte daher die Zahl jeweils in 8-Bit-Teile durch maskieren aufsplitten und dann mit diesen 8-Bit-Blöcken weiterrechnen.

Kennt jemand die Operatoren für binäre Rechenoperationen?
Oder kennt jemand eine "Long"-Variante der Funktion DEZINBIN, welche mit mindestens 24-Bit umgehen kann?

Danke vorab!

WinXP; Oo3.1.1
Zuletzt geändert von Blaukraut am Mi, 09.03.2011 19:30, insgesamt 1-mal geändert.
Benutzeravatar
Constructus
*******
Beiträge: 1610
Registriert: Mo, 21.01.2008 18:08
Wohnort: 20 Jahre Brilon - 40 Jahre Essen- Steele

Re: binär rechnen (AND / OR / XOR)

Beitrag von Constructus »

Hallo Blaukraut,

irgendwas stimmt in Deiner Rechnerei nicht...

Eine kurze Suche ergab:

binäre Rechenoperationen
http://magicstone.de/rhwiki/article/Bin%E4re_Operatoren
http://www.wer-weiss-was.de/theme50/article149831.html
http://de.wikipedia.org/wiki/Zweierkomplement
http://www.sccweb.de/themen/binary/

Siehst Du die Möglichkeit, daraus einen Weg zu ermitteln, wie Du weiterkommst? Ich meine, ich hätte das vor ...zig Jahren mal manuell gekonnt, das finde ich heute aber nicht wieder.

Nette Grüße

Constructus
EDV ist wunderbar - o Wunder, wenn sie funktioniert! {°L*}

Freie Offices auf div. Linuxen + 3 VBoxen mit WIN2K
|| LibO + AOO, auf Linux und WIN2K; portable OO & Co. auf WIN
Genaue Typisierung unmöglich, alles ist "im Fluß"
Blaukraut
**
Beiträge: 22
Registriert: So, 11.01.2009 15:59
Wohnort: Allgäu

Re: binär rechnen (AND / OR / XOR)

Beitrag von Blaukraut »

Hallo,

danke für die Antwort.
Ich hatte vergessen dazuzuschreiben, dass ich Probleme habe, diese Operationen in CALC durchzuführen.
Rein mathematisch ist mir das sehr geläufig und in C oder Delphi kann man auch problemlos damit arbeiten, nur in CALC finde ich keine Operatoren, die das können.
Ich hatte laienhaft gedacht, dass CALC als kleines MatheGenie soetwas standartmäßig als Funktionen dabei hat und man keine Macros o.ä. dafür braucht.
Vielleicht ist es auch so, nur finde ich hier nichts...
Karolus
********
Beiträge: 7521
Registriert: Mo, 02.01.2006 19:48

Re: binär rechnen (AND / OR / XOR)

Beitrag von Karolus »

Hallo
Wenn dir das mathematisch so geläufig ist, frage ich mich wieso du in dem Zusammenhang über AND , OR und XOR faselst.
Die in Calc vorhandene DEZINBIN-funktion ist nunmal auf 9(10) Ausgabestellen beschränkt.
Ansonsten - (falls du nicht mit Basic, Python, Javascript oder Beanshell arbeiten willst) - In Calc kannst du mit GANZZAHL() und REST() und mit dem &-textverknüpfungoperator deine Umrechnungsmatrix zusammenbauen.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Blaukraut
**
Beiträge: 22
Registriert: So, 11.01.2009 15:59
Wohnort: Allgäu

[gelöst] Re: binär rechnen (AND / OR / XOR)

Beitrag von Blaukraut »

>>Wenn dir das mathematisch so geläufig ist, frage ich mich wieso du in dem Zusammenhang über AND , OR und XOR faselst.
sorry, wenn ich hier anscheinend total verpeilt Fragen stelle und wirres Zeug fasle. Das ist nicht meine Absicht.
Asche über mein Haupt, Asche über mein Haupt, Asche über mein Haupt (ich hoffe das reicht jetzt)
Die in Calc vorhandene DEZINBIN-funktion ist nunmal auf 9(10) Ausgabestellen beschränkt.
Das habe ich doch erkannt und eigentlich auch so geschrieben?
In Calc kannst du mit GANZZAHL() und REST() und mit dem &-textverknüpfungoperator deine Umrechnungsmatrix zusammenbauen.
Ja, danke, das ist natürlich möglich. Anscheinend gibt es keinen eleganteren Weg.
Und mit dieser Erkenntnis bin ich zufrieden!
Karolus
********
Beiträge: 7521
Registriert: Mo, 02.01.2006 19:48

Re: binär rechnen (AND / OR / XOR)

Beitrag von Karolus »

Hallo
Doch, es gibt elegantere Wege - aber du schriebst:
....und man keine Macros o.ä. dafür braucht.
Damit schließt du die eleganteren Wege aus - z.B. mit python eine Zweizeiler:

Code: Alles auswählen

def dez2bin( i ):
    return format( int( i ) , "b" )
Leider brauchts etwas mehr, um aus Calc heraus diese Funktion zu nutzen siehe: viewtopic.php?f=2&t=43087&p=158588#p158588

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus
********
Beiträge: 7521
Registriert: Mo, 02.01.2006 19:48

Re: binär rechnen (AND / OR / XOR)

Beitrag von Karolus »

Hallo
Es gibt tatsächlich noch eine Calc-funktion zur binären Darstellung von ganzen Zahlen ohne die Beschränkung von DEZINBIN !

Code: Alles auswählen

=BASIS( zahl ; 2 )
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Blaukraut
**
Beiträge: 22
Registriert: So, 11.01.2009 15:59
Wohnort: Allgäu

Re: binär rechnen (AND / OR / XOR)

Beitrag von Blaukraut »

Verblüffend, das funktioniert perfekt.
Vielen Dank, damit muss ich nun endlich nicht mehr weiter faseln.

Gruß vom Blaukraut!
Benutzeravatar
Constructus
*******
Beiträge: 1610
Registriert: Mo, 21.01.2008 18:08
Wohnort: 20 Jahre Brilon - 40 Jahre Essen- Steele

Re: [gelöst] binär rechnen (AND / OR / XOR)

Beitrag von Constructus »

Hallo Karo,

mal wieder was neues gelernt... Ich hab das grad in einer Datei ausprobiert, die mit Dezinbin nach 2 Stufen abbrach; jetzt geht mehr (ein Ende kann ich nicht ermitteln).

Kennst Du auch noch eine solche Möglichkeit für römische Zahlen? Da kommt irgendwann auch error502 mit Römisch(...;2) ..

Nette Grüße

Constructus

P.s.: ist das Leerzeichen nach der ersten Klammer Zufall oder Absicht?
EDV ist wunderbar - o Wunder, wenn sie funktioniert! {°L*}

Freie Offices auf div. Linuxen + 3 VBoxen mit WIN2K
|| LibO + AOO, auf Linux und WIN2K; portable OO & Co. auf WIN
Genaue Typisierung unmöglich, alles ist "im Fluß"
Karolus
********
Beiträge: 7521
Registriert: Mo, 02.01.2006 19:48

Re: nun Dezimalzahlen → römische Zahlen

Beitrag von Karolus »

Hallo Construktus
Nein für die römische Zahlendarstellung gibts nichts eingebautes für größere Zahlen, anscheinend gibts auch verschiedene Möglichkeiten der Darstellung für Zahlen > 3000. Siehe http://de.wikipedia.org/wiki/R%C3%B6mis ... 9Fe_Zahlen (Das betrifft sowohl die verwendeten Zeichen als auch die Darstellungsregeln )
Eine Lösung in Python ohne Anspruch auf Vollständigkeit:

Code: Alles auswählen

numsigns = [(u'\u2188', 100000),
        (u'\u2182\u2188', 90000),
        (u'\u2187',50000),
        (u'\u2182\u2187', 40000),
        (u'\u2182', 10000),
        (u'M\u2182', 9000),
        (u'\u2181', 5000),
        (u'M\u2181', 4000),
        ("M", 1000),
        ("CM", 900),
        ("D", 500),
        ("CD", 400),
        ("C", 100),
        ("XC", 90),
        ("L", 50),
        ("XL", 40),
        ("X", 10),
        ("IX", 9),
        ("V", 5),
        ("IV", 4),
        ("I", 1)]


def dez2rom(n):
    result = []
    for sign, val in numsigns:
        while n >= val:
            n -= val
            result.append(sign)
    return "".join(result)
Zur Anbindung an Calc siehe 2 Antworten weiter oben.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
Constructus
*******
Beiträge: 1610
Registriert: Mo, 21.01.2008 18:08
Wohnort: 20 Jahre Brilon - 40 Jahre Essen- Steele

Re: [gelöst] binär rechnen (AND / OR / XOR)

Beitrag von Constructus »

Hallo Karo,

danke. Die Nachfrage war rein interesehalber, weil ich meiner Datei mit den Binärzahlen auch gleich eine Spalte mit den römischen Zahlen habe. Irgendwann ist die Darstellung der römischen Zahlen sowieso kaum mehr nachvollziehbar und auch unbekannt, wie das Nachlesen Deines Links zeigt. Wie weit die Römer selbst gezählt haben, habe ich nicht nachgesucht. Aber Million oder Milliarde dürften die kaum gekannt haben.

Bei mir geht es um so etwas:
Tage______9.131____10001110101011____Err:502
Wochen___1.304____10100011000_______MCCCIV
Monate____300_____100101100 _________CCC

Ich hoffe, das kommt einigermaßen verständlich 'rüber. Die unteren beiden Binärzahlen sind mit DezinBin erzeugt, die obere mit Deiner Formel.

Spielerei halt, aber es muß ja nicht alles bierernst sein...

Nette Grüße

Constructus
EDV ist wunderbar - o Wunder, wenn sie funktioniert! {°L*}

Freie Offices auf div. Linuxen + 3 VBoxen mit WIN2K
|| LibO + AOO, auf Linux und WIN2K; portable OO & Co. auf WIN
Genaue Typisierung unmöglich, alles ist "im Fluß"
Antworten