
Envoyé par
Raikyn
Salut !
Bonsoir,

Envoyé par
Raikyn
Je cherche à savoir comment je peux faire pour comparer 3 unsigned char bit à bit
Qu'est-ce que cela signifie, une comparaison bit à bit ?

Envoyé par
Raikyn
et de stocker un bit dans une variable.
Pour positionner un bit en particulier, on peut utiliser l'opérateur OU binaire :
variable |= (1 << position);

Envoyé par
Raikyn
J'ai déjà essayé quelques trucs avec les opérateurs de bit, mais dans mes variable qui sont censées prendre les bits, j'ai des 2 et 4 x)
D'un autre côté, si tu positionnes le deuxième et le troisième bit et que tu tentes d'afficher le résultat, c'est normal que tu obtiennes « 2 » ou « 4 ». Tu peux te servir d'une fonction pour afficher ton nombre en base binaire, par exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <limits.h>
#include <stddef.h>
void
print_binary (int x)
{
#define GET_BIT(x, i) (((x >> i) & 0x01)
size_t size = sizeof x * CHAR_BIT;
size_t i;
for (i = 0; i < size; i++)
printf ("%d\n", GET_BIT (x, size - i - 1));
putchar('\n');
} |
Bonne soirée !
Partager