Feuilles de calcul binaires avec opérateurs au niveau des bits [fermé]


1

Je cherche un moyen de construire facilement des feuilles de calcul binaires en utilisant des opérateurs au niveau du bit tels que SHIFT, AND, OR et XOR.

J'ai consulté Gnumeric, mais je ne trouve aucune fonction qui vous permettrait de définir la base sur 2 et d'effectuer des opérations binaires simples sans devoir vous retirer de la fonction intégrée qui est maladroite, car vous ne pouvez pas utiliser la représentation binaire.

Réponses:


2

Si vous voulez simplement créer des valeurs booléennes uniques dans une cellule, vous pouvez utiliser = TRUE () et = FALSE (représentés par 1 et 0 normalement). Il existe AND, IF (prenant un premier opérande logique). PAS OU OU XOR. Vous pouvez créer des lignes avec ces valeurs et effectuer des opérations ligne par ligne, des permutations, etc.

Si vous souhaitez effectuer des opérations au niveau du bit sur des valeurs uniques, vous devriez pouvoir le faire. Ceux-ci travaillent sur la représentation binaire d’entiers dans une plage particulière. Vous devriez pouvoir les afficher en hexadécimal. Je ne sais pas quels produits prennent en charge la saisie au format hexadécimal ou binaire dans le cadre du formatage de cellule, mais des fonctions telles que BIN2DEC, BIN2HEX, DEC2BIN et DEC2HEX devraient être utiles. Jouez avec ceux-ci pour obtenir ce que vous voulez. (Pour introduire une valeur binaire, utilisez BIN2DEC, et pour afficher un résultat sous forme binaire, utilisez DEC2BIN. Je sais que cela sonne en arrière, mais vous pouvez penser aux opérations BIT, ci-dessous, en effectuant un DEC2BIN sur les opérandes puis en faisant un BIN2DEC de le résultat - l’effet est comme si c’était le cas, en interne, c’est plus facile. Jouez avec une feuille de calcul qui contient ces fonctions et confirmez son fonctionnement.)

Les fonctions au niveau du bit OpenFormula sont BITAND, BITLSHIFT, BITOR, BITRSHIFT et BITXOR. Celles-ci sont censées fonctionner avec des valeurs non signées d'au moins 48 bits. Pour travailler sur n bits, il est utile de définir une constante 2 ^ n-1 pouvant être utilisée dans BITAND pour ignorer tous les bits censés être décalés et BITXOR pour compléter tous les bits (BITCOMP ou BITNOT n'étant pas présents) . Il n'y a pas de décalage circulaire, mais on peut être composé. Pour tout ce qui est particulièrement complexe, l'utilisation d'opérations ligne par ligne sur des cellules ayant une seule valeur booléenne peut être préférable. Alternativement, il peut être souhaitable de définir des macros pour des fonctions complexes au niveau des bits impliquant des rotations et des permutations.

Celles-ci pourraient ne pas encore être appliquées uniformément. Vérifiez les dernières versions de LibreOffice Calc, Apache OpenOffice Calc et Gnumeric.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.