int16_t[400] et char[400] xor en C - C - Programmation
Marsh Posté le 30-08-2012 à 11:23:39
De l'algèbre de bool avec des caractères et des entiers, fallait y penser.
Marsh Posté le 30-08-2012 à 11:25:09
je sais bien que cela ne se fait pas, seulement je ne sais pas comment faire autrement...
Marsh Posté le 30-08-2012 à 13:16:08
ce que tu veux faire n'est pas clair : tu veux faire un xor entre deux variables de taille probablement différente (8bits pour le char contre 16 pour ton int16_t) comment traites-tu les bits qui n'ont pas de correspondance ?
Pire encore, d'après tes commentaires, tata[] serait un tableau de booléens ...
Sinon, effectivement, le xor (^) est effectué bit à bit.
Marsh Posté le 30-08-2012 à 16:51:34
Désolé, je me suis un peu embrouillé dans mon problème.
En fait toto est remplit par un autre char que je vais appelé tutu[400]; et c'est celui la que je devais Xor-é et pas faire tata^toto mais tata^tutu avant que toto soit remplit par tutu.
Ensuite, cela ne fonctionnait toujours pas, enfin ça compilait mais les valeurs n'étaient pas bonne car tata[400] contenait 48 et 49 au lieu de 0 et de 1 mais j'ai pu régler ce problème.
En tout cas merci à tous car vos commentaires mon fait réfléchir et du coup trouver la solution ! Un grand merci !
Marsh Posté le 30-08-2012 à 11:17:00
Bonjour,
J'ai plusieurs petits problèmes en C :
1/ Comment faire un printf() d'un int16_t ? C'est bête mais %d,%l,%s ne fonctionne pas...
2/ Je souhaite faire le XOR bit à bit d'un :
int16_t toto[400] avec un char tata[400] seulement quand je fais une boucle :
Cela ne fonctionne pas, normal, mais si vous avez des idées pour convertir tata en int16_t ou toto en char pour que je puisse faire un XOR entre ces deux variables, n'hésitez pas. Merci
Message édité par ceinpap le 30-08-2012 à 11:25:35