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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C] manipulation de matrices binaires

n°247227
Zaib3k
Posté le 17-11-2002 à 21:44:51  profilanswer
 

Reprise du message précédent :
ok, je vais ajouter ca, par contre ds mon cours, sur le cours de mes potes, c'est bien un XOR et je ne sais pas pourquoi


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
mood
Publicité
Posté le 17-11-2002 à 21:44:51  profilanswer
 

n°247228
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 21:46:52  profilanswer
 

ben un xor c'est faux, j'espere que tu t'en rends bien compte.


---------------
du bon usage de rand [C] / [C++]
n°247230
Zaib3k
Posté le 17-11-2002 à 21:50:49  profilanswer
 

oui, et c la le probleme
 
je suis perdu


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247231
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 21:51:09  profilanswer
 

Zaib3k a écrit a écrit :

oui, et c la le probleme
 
je suis perdu




 
pourquoi?


---------------
du bon usage de rand [C] / [C++]
n°247232
Zaib3k
Posté le 17-11-2002 à 21:54:21  profilanswer
 

et bien le xor est faux, mais il est ds mon cours
mon cours peut etre faux
mais il est aussi ds le cours de tous mes potes
le prof serait - il mytho ?
 
c pour ca que je suis perdu
 
en tout cas, merci de m'avoir accorder de ton temps :jap:


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247238
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 21:59:39  profilanswer
 

il est mytho
 
si on additionne des bits
1 + 1 = 10
 
si on considere seulement le bit de poid faible:
alors 1 + 1 = 0, ce qui est en fait 1 xor 1 = 0
 
le problème, c'est que ce n'est pas du tout le traitement que l'on souhaite effectuer ici
 
dans la boucle de k:
on a resultat <- 1 + 1 + 0 + 1 + 0 + 0 et on entend bien que resultat = 1. il s'agit d'une opération booleenne. il ne faut pas confondre booléen et binaire  :non: . c'est la confusion. d'ailleurs tu le voit bien a mon implémentation ou je n'utilise pas d'opérateurs bit a bit.
 
ton prof a faux


---------------
du bon usage de rand [C] / [C++]
n°247242
Zaib3k
Posté le 17-11-2002 à 22:07:25  profilanswer
 

http://kornog.enst-bretagne.fr/~laot/bloc.pdf   page 3 => XOR
 
http://www.ens-lyon.fr/~fvivien/En [...] /TD06.text  idem
 
http://www.cours.polymtl.ca/ele3702/chapitre2.pdf  idem page 4
 
http://ictt.insa-lyon.fr/beuchot/R [...] r_Liai.pdf  idem page 6
 
je pense que je vais devoir me renseigner aupres de mon prof
 
 :hello:


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247243
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 22:10:41  profilanswer
 

voir mon explication précédente.
 
ici on ne fait pas d'addition puisqu'on manipule des booléens.


---------------
du bon usage de rand [C] / [C++]
n°247245
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 22:12:28  profilanswer
 

maintenant si ton exercice n'est une multiplication de matrice de booléens, je peux rien pour toi.


---------------
du bon usage de rand [C] / [C++]
n°247247
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 22:14:01  profilanswer
 

c'est quoi Hamming, je me souvient plus. pourtant ca date que de mes cours de l'an dernier...
 
vi, je me souviens, bit de parité et controle de flux. c'est plus simple que le CRC, pour sure.


Message édité par Taz@PPC le 17-11-2002 à 22:16:01

---------------
du bon usage de rand [C] / [C++]
mood
Publicité
Posté le 17-11-2002 à 22:14:01  profilanswer
 

n°247252
Zaib3k
Posté le 17-11-2002 à 22:21:58  profilanswer
 

hamming, c un truc avec une matrice de codage et une matrice de decodage, c un systeme qui permet de detecter les erreur et de corriger les erreur simples.
 
je viens de corriger mon code :D
 

Code :
  1. for (i = 0; i < matp.p; i++)
  2.       {
  3.      for (j = 0; j < matp.n; j++)
  4.      {
  5.          for (k = 0; k < A.n; k++)
  6.           if (k == 0)
  7.           matp.ad[i*matp.n+j] = (A.ad[i*matp.n+k] & B.ad[k*matp.n+j]);
  8.        else
  9.         matp.ad[i*matp.n+j] ^= (A.ad[i*matp.n+k] & B.ad[k*matp.n+j]);
  10.      }
  11.       }


 
je reste sur du xor pour l'instant, et j'ai juste changer une broutille.
mon ^= me calculait un truc bizarre lors du premier tour de boucle car matp.ad[i*matp.n+j] n'avait pas encore de valeur
 
je suis content  :sol:


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247253
Zaib3k
Posté le 17-11-2002 à 22:22:30  profilanswer
 

il me semble que CRC = hamming + parité
 
ou un truc ds le genre  :)


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247260
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 22:28:14  profilanswer
 

Zaib3k a écrit a écrit :

il me semble que CRC = hamming + parité
 
ou un truc ds le genre  :)  




 
 :non: c'est a base de polynomes...
 
 
ton probleme etait normal: en C, les varaibles non-initialisées peuvent contenir n'importe quoi, d'ou des trucs délirants


---------------
du bon usage de rand [C] / [C++]
n°247267
Zaib3k
Posté le 17-11-2002 à 22:32:18  profilanswer
 

Taz@PPC a écrit a écrit :

 
 
 :non: c'est a base de polynomes...
 
 
ton probleme etait normal: en C, les varaibles non-initialisées peuvent contenir n'importe quoi, d'ou des trucs délirants




 
qd je pense que je me suis pris la tete pour une connerie  :lol:


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247272
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 22:34:57  profilanswer
 

d'ou l'interet de bien expliquer ce qu'on fait, ce qu'on veut faire et l'algo qu'il y a derriere
 

Citation :

[C] saisir et stocker une matrice binaire


---------------
du bon usage de rand [C] / [C++]
n°247278
Zaib3k
Posté le 17-11-2002 à 22:38:31  profilanswer
 

Taz@PPC a écrit a écrit :

d'ou l'interet de bien expliquer ce qu'on fait, ce qu'on veut faire et l'algo qu'il y a derriere
 

Citation :

[C] saisir et stocker une matrice binaire






 
effectivment, le topic a devié
 
si j'avais pue stocké des bits et non des int ds ma matrice, ca aurait ete plus simple, ou au moins, j'aurais eviter de me prendre la tete


Message édité par Zaib3k le 17-11-2002 à 22:38:47

---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247280
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 17-11-2002 à 22:39:35  profilanswer
 

Zaib3k a écrit a écrit :

 
si j'avais pue stocké des bits et non des int ds ma matrice, ca aurait ete plus simple, ou au moins, j'aurais eviter de me prendre la tete




 
le problème est strictement le meme


---------------
du bon usage de rand [C] / [C++]
n°247281
Zaib3k
Posté le 17-11-2002 à 22:40:24  profilanswer
 

Taz@PPC a écrit a écrit :

 
 
le problème est strictement le meme




 

Citation :

ou au moins, j'aurais eviter de me prendre la tete


 
 
 [:bigsmiley]  
 


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247334
gatorette
Posté le 18-11-2002 à 00:59:02  profilanswer
 

Pour information, il est possible d'indiquer le nombre de bits à allouer pour un élément d'une structure (je n'ai pas vérifié dans la norme).
 
Ainsi on peut écrire :

Code :
  1. typedef struct tagBIT
  2. {
  3. unsigned int val : 1;
  4. } BIT, *LPBIT;
  5. int main(int argc, _TCHAR* argv[])
  6. {
  7. BIT b1;
  8. b1.val = 0;   // b1.val = 0 (normal !)
  9. b1.val++;     // b1.val = 1 (normal encore !)
  10. b1.val++;     // b1.val = 0 (ouah... c'est ce que l'on voulait, non ?)
  11. return 0;
  12. }


 
J'ai trouvé une doc là dessus ici : http://www.owlnet.rice.edu/~comp32 [...] tut03.html (paragraphe "struct with bit fields" )


---------------
each day I don't die is cheating
n°247358
Musaran
Cerveaulté
Posté le 18-11-2002 à 06:22:42  profilanswer
 

Taz@PPC a écrit a écrit :

sache que les operateurs bit a bit sont dangereux et indefinies sur les types signés.


De quoi tu parles ?
Le décalage est particulier, mais les autre opérateurs de bits sont très bien définis.
D'ailleurs, qu'est-ce qu'ils pourraient faire de différent ?


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°247361
Zaib3k
Posté le 18-11-2002 à 07:07:45  profilanswer
 

gatorette a écrit a écrit :

Pour information, il est possible d'indiquer le nombre de bits à allouer pour un élément d'une structure (je n'ai pas vérifié dans la norme).
 
[...]
 
J'ai trouvé une doc là dessus ici : http://www.owlnet.rice.edu/~comp32 [...] tut03.html (paragraphe "struct with bit fields" )




 
 
genial, j'essairais ca des ce soir
 
merci


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°247362
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 18-11-2002 à 07:14:22  profilanswer
 

Musaran a écrit a écrit :

De quoi tu parles ?
Le décalage est particulier, mais les autre opérateurs de bits sont très bien définis.
D'ailleurs, qu'est-ce qu'ils pourraient faire de différent ?




 
c'etait une mise en garde vis a vis de la portabilité  :jap:  
 
 
quand aux bitfield, faut s'en servir si on a vraiment un problème de place car l'acces est plus couteux, d'autant plus qu'on ne peut pas las manipuler comme des variables communes car elles ne sont aps adressables.
 
non, le mieux c'est d'utiliser des masques et des décalages pour stocker CHAR_BIT*sizeof(unsigned int) bits dans un unsigned int (pardi!)


---------------
du bon usage de rand [C] / [C++]
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Manipulation des dates en visual C++probleme d'envoi de fichiers binaires dans une app client/serveur
[XML] stocker des données binaires dans un fichier XML ...[VBA] manipulation des strings
[PHP] Manipulation de données contenant des 'quotes' ?[resolu] calculs sur des matrices et de vecteurs
[PHP] manipulation binaire[SVG / java/Batik] Manipulation / convertion de fichiers SVG
[Visual Basic] Manipulation de chainesManipulation de BD Access avec Visual Basic [edit : + onglets]
Plus de sujets relatifs à : [C] manipulation de matrices binaires


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