Binäre Kalkulationstabellen mit bitweisen Operatoren

1828
ks6g10

Ich bin auf der Suche nach einer Möglichkeit, einfach auf binäre Tabellen konstruieren mit bitweise Operatoren wie SHIFT, AND, ORund XOR.

Ich habe mir Gnumeric angesehen, kann aber keine Funktion finden, mit der Sie die Basis auf 2 setzen und einfache binäre Operationen ausführen können, ohne sich auf die eingebaute Funktion zu verlassen, die umständlich ist, da Sie die nicht verwenden können binäre Darstellung.

1

1 Antwort auf die Frage

2
orcmid

Wenn Sie nur einzelne boolesche Werte in einer Zelle ausführen möchten, können Sie = TRUE () und = FALSE (normalerweise durch 1 und 0 dargestellt) verwenden. Es gibt UND, WENN (mit einem logischen ersten Operanden). NOT, OR und XOR. Sie können Zeilen aus diesen Werten erstellen und zeilenweise Operationen, Permutationen usw. ausführen.

Wenn Sie stattdessen bitweise Operationen für einzelne Werte durchführen möchten, sollten Sie dies können. Diese arbeiten an der binären Darstellung von ganzen Zahlen in einem bestimmten Bereich. Sie sollten sie in Hex anzeigen können. Ich weiß nicht, welche Produkte die Eingabe in Hex oder Binär als Teil der Zellenformatierung unterstützen, aber Funktionen wie BIN2DEC, BIN2HEX, DEC2BIN und DEC2HEX sollten nützlich sein. Spielen Sie mit diesen, um zu bekommen, was Sie wollen. (Um einen binären Wert einzuführen, verwenden Sie BIN2DEC, und um ein Ergebnis als binär darzustellen, verwenden Sie DEC2BIN. Ich weiß, dass es rückwärts klingt, aber Sie können sich die BIT-Operationen unten vorstellen, die ein DEC2BIN für die Operanden und dann ein BIN2DEC von ausführen Das Ergebnis - der Effekt ist, als würde er das tun, intern ist es einfacher. Spielen Sie mit einer Tabelle mit diesen Funktionen herum und bestätigen Sie, wie es für Sie funktioniert.)

Die bitweisen Funktionen von OpenFormula sind BITAND, BITLSHIFT, BITOR, BITRSHIFT und BITXOR. Es wird erwartet, dass diese mit vorzeichenlosen Werten von mindestens 48 Bit arbeiten. Um in n Bits arbeiten zu können, ist es wichtig, eine Konstante 2 ^ n-1 zu definieren, die in BITAND verwendet werden kann, um alle Bits zu verwerfen, von denen erwartet wird, dass sie herausgeschoben werden, und BITXOR, um alle Bits zu ergänzen (es gibt kein BITCOMP oder BITNOT). . Es gibt keine Kreisverschiebung, aber man kann sich zusammensetzen. Bei allem, was besonders komplex ist, kann entweder die Verwendung von zeilenweisen Operationen an Zellen mit einzelnen booleschen Werten am besten sein. Alternativ kann es wünschenswert sein, Makros für komplizierte bitweise Funktionen zu definieren, die Rotationen und Permutationen beinhalten.

Diese sind möglicherweise noch nicht einheitlich implementiert. Überprüfen Sie die neuesten Versionen von LibreOffice Calc, Apache OpenOffice Calc und Gnumeric.