Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1252 connectés 

  FORUM HardWare.fr
  Programmation
  C

  int16_t[400] et char[400] xor en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

int16_t[400] et char[400] xor en C

n°2155048
ceinpap
Posté le 30-08-2012 à 11:17:00  profilanswer
 

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 :
 

Code :
  1. char tata[400];
  2. int16_t toto[400];
  3. memset(toto, 0x00, sizeof(int16_t) * 400);
  4. memset(tata, 0, 400);
  5. //tata est remplit à cet endroit par 400bits des 0 et des 1.
  6. //toto est remplit à cet endroit en hexadécimal je pense mais je n'en suis pas sur puisque je ne peux pas faire de printf...
  7. char titi[];
  8. for (i=0;i<400;i++){
  9. titi[i] = toto[i] ^ tata[i]
  10. }


 
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
mood
Publicité
Posté le 30-08-2012 à 11:17:00  profilanswer
 

n°2155049
Profil sup​primé
Posté le 30-08-2012 à 11:23:39  answer
 

De l'algèbre de bool avec des caractères et des entiers, fallait y penser.

n°2155050
ceinpap
Posté le 30-08-2012 à 11:25:09  profilanswer
 

je sais bien que cela ne se fait pas, seulement je ne sais pas comment faire autrement...


Message édité par ceinpap le 30-08-2012 à 11:28:51
n°2155053
Profil sup​primé
Posté le 30-08-2012 à 11:43:21  answer
 

Le xor, il me semble que c'est un opérateur bit à bit.

n°2155073
theshockwa​ve
I work at a firm named Koslow
Posté le 30-08-2012 à 13:16:08  profilanswer
 

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.


---------------
last.fm
n°2155110
ceinpap
Posté le 30-08-2012 à 16:51:34  profilanswer
 

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 !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  int16_t[400] et char[400] xor en C

 

Sujets relatifs
[C][reseau] connection tcp (3 voies) raw socketTemporisation - Langage C - Launchpad MSP430
[XCode/Objective C] Que fais la fonction appendFormat?Fonction: C
[C]Extraire un chiffre d'un tableau de char dans un int[C#] Service Windows et méthode static d'une dll précompilée [Résolu]
[C#] Génération de rapport PDF[C#] Déploiement d'AddIn Office (vsto), manifest et signature.
Quels autres langages pour compléter/allier le C++ ? 
Plus de sujets relatifs à : int16_t[400] et char[400] xor en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR