Créer un tableau évolutif en binaire (Gray)

Bonjour,

Pour une connaissance qui ne connaît pas le VBA, je cherche une solution Excel pour l'aider à dessiner un tableau en binaire (gray) qui servira ensuite de base de calcul.

Ce tableau devant être écrit en fonction d'une variable donnant son nombre de bit, il sera évolutif.

Il pourra être "dessiné" sur un onglet à part.

Cela vous semble t-il possible sans l'utilisation du VBA ?

Nota : Je vous mets une partie du fichier en PJ

Merci

Christophe

32test-debit.xlsx (11.79 Ko)

bonjour,

pouvez-vous donner un petit peu d'explication ? C'est quoi le but ?

Bonsoir,

Un essai, j'ai pris la variable indiquée en cellule M16

Cdlt

bonjour Arturo83n Christophe79,

Ce n'est pas vraiment binaire, si on utilise la formule en I5 et copier en bas ...

=DECBIN(LIGNE()-5;4)

@ BsAlv

Le code gray diffère du code binaire de par le fait qu'on ne change qu'un seul bit à la fois, alors qu'en binaire on peut changer plusieurs bit à la fois, ceci est couramment utilisé dans les domaines de l'automatisme en électromécanique et électronique.

exemples:

le passage du chiffre 5 au chiffre 6 en binaire --> 101 --> 110, en gray: 111 --> 101

le passage du chiffre 7 au chiffre 8 en binaire --> 111 --> 1000, en gray: 100 --> 1100

Cdlt

Pour l'explication :

Elle veut trouver toutes les combinaisons possibles d'addition de longueurs (variables) de n morceaux (n variables aussi) et vérifier que ces additions ne dépassent pas une valeur donnée en T3.

S'il y a 3 morceaux appelés a, b et c (comme c'est le cas dans l'exemple) alors on additionne le produit des longueurs du deuxième tableau avec le premier (code gray en binaire).

On a ainsi toutes les combinaisons possibles des additions.

Elles passent en vert quand la somme est inférieure à T3 et en rouge quand c'est supérieur.

Dans un soucis de présentation, elle voudrait que les tableaux se refassent en automatique. Mais ceci est une autre histoire.

Christophe

L'intérêt du gray par rapport au binaire naturel, c'est que d'une combinaison à l'autre, une seule variable change.

bonsoir,

amusant !!

Mais à quoi sert J6:L12 et le sommeproduit ?

bonjour,

une proposition (sans VBA) pour générer le tableau de Gray.

30test-debit.xlsx (12.32 Ko)
- Bart, les valeurs des colonnes J, K et L ne doivent pas changer. J'ai refais le fichier en PJ. Mille pardons.
- Arturo, il ne faut pas de VBA, elle ne le connait pas. Mais merci.
- h2so4, punaise, j'ai passé du temps à comprendre le fonctionnement. C'est subtil. Mais la commande DECBIN ne fonctionne pas au delà de 10.
16test-debit-v2.xlsx (12.28 Ko)

La seule façon que j'ai trouvé pour l'instant c'est de le faire en "manuel" en mettant une colonne avec une suite décimale à côté du tableau (comme c'est dans l'exemple) et en demandant un tri du tableau et de la colonne en triant la colonne du plus grand au plus petit. Ça inverse le tableau qu'on colle à la suite et on recommence.
Mais c'est très long et source d'erreurs.

re,

il ne faut pas connaître VBA pour l'utiliser. Il y a une fonction "Gray" dans le PJ qui donne les valeurs binaires et gray de 0 à 511 dans les colonnes AA:AC. Je pense que j'ai bien compris les système, mais c'est mieux si vous le vérifiez encore une fois.

Puis j'utilise cette fonction "gray" dans une 2ième fonction "Gray2" dans la cellule B5 avec l'argument le nombre de lignes "GRAY" que vous voulez, maintenant B5 = GRAY2(16), donc les valeurs gray de 0 à 15.

Comme on a 7 bits "gray", on peut utiliser jusqu'à 7 chiffres, la plage J5:P5.

La sommeproduit apparait dans la plage S5:S50.

Edit B5 utilise ne nombre de chiffres de la plage J5:P5

18test-debit-v2.xlsb (32.44 Ko)

bonsoir à tous,

une proposition de fonction personnalisée pour une conversion decimal et binaire jusqu'à 64 bits, utilisée par une fonction personnalisée gray

=cvtd2b(n,nbits) convertit le nombre décimal n en nombre binaire de nbits bits

=gray(n,nbits) convertit le nombre décimal n en nombre binaire réfléchi (Gray) de nbits bits.

Perfect !

Merci

Rechercher des sujets similaires à "creer tableau evolutif binaire gray"