Générer toutes les combinaisons possibles

Bonjour,

Je suis actuellement en train de coder un logiciel en VB.NET pour dessiner facilement des caractères spéciaux sur un écran LCD connecté avec I2C, qui traduirait le binaire en Hexadécimal.

J'ai pour cela débuté la création d'un dictionnaire, qui à chaque valeur donnée en binaire sous la forme d'une ligne de 5 pixels, associe sa valeur hexadécimal à inscrire dans le code.

Mais je n'arrive pas à déterminer toutes les combinaisons possibles.

J'aimerais donc trouver un moyen de trouver toutes les combinaisons possibles, par exemple

00000
00001
00011
00111
01111
11111

Et cetera...

Pour ma part j'ouvrirai un tableur, genre excel un calc, je génèrerais une suite de nombre, de 0 à x (x étant probablement égal à 2^n, n étant le nombre de bits concernés), et dans la colonne à coté je définirait une fonction BIN() ou HEX().
Mais est-ce bien ça que tu cherches à faire?

Pourquoi faire un dictionnaire? si vous avez 5 pixels qui peuvent être allumés (1) ou éteints (0) et que vous considérez que c'est une représentation en base 2 (binaire) d'une certaine quantité, calculer la valeur associée mathématiquement n'a rien à voir avec sa représentation en décimal (base 10), hexadecimal (base 16) etc, ça n'importe peu c'est juste une représentation lisible à écran (que vous ayez la quantité 15 en decimal ou F en hexadécimal ou 1111 en binaire - c'est la même quantité que vous représentez)

Si vous avez les bits dans un tableau byte b[5]; alors la quantité que vous voulez c'est (en disant que b[0] est le pixel le plus à droite)val=1*b[0]+2*b[1]+4*b[2]+8*b[3]+16*b[4]; // le 1* ne sert  rien bien sûr, c'est pour l'explication d'une représentation binaire

Ou dans le cas plus général

uint8_t val=0; // uint8_t donc pas plus de 8 bits, sinon passer à uint16_t ou uint32_t
uint8_t  maxindex=(sizeof(b)/sizeof(b[0]))-1; // index max dans le tableau
for (uint8_t i=maxindex;i>=0;--i) val = (2*val)+b[i];

Une fois que vous avez la valeur, imprimez sa représentation numérique en base que vous voulez - je suppose que l'habitude c'est l'hexadécimal, mais pour mettre dans un tableau rien ne vous empêche de mettre la même quantité en decimal

Super merci à tous, j'ai grâce à vous réussi à finir ce programme ! Merci beaucoup !!