Salut,
je souhaiterais avoir une explication complementaire sur la partie concernant les types de donn�es du cours de Christian Casteyde, surtout � propos des types signed et unsigned, j'ai pas vraiment compris la diff�rence et je rencontre de dr�le de chose quand je programme d�s � l'utilisation de type signed ou unsigned.
Je dois dans un algorithme g�n�re une matrice (j'utilise la classe matrix de boost::ublas)
Pour cela j' ecris :
ce qui me permet degenerer une matrice avec des coef negatifs. Donc si j'utilise matrix<signed double> ok, ca marche. par contre si j'utilise matrix<double>, ca ne marche pas, je n'ai pas de nombre negatifs et par defaut il me met le plus grand nombre qu il peut calculer.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 matrix<signed double> a ( n, n); for(unsigned int i=0; i<a.size1(); ++ i) {for(unsigned int j=0; j<a.size2(); ++ j) a(i,j)=1-2*i-j*(i+j)*i*j;}
Mais lorsque je defini une fonction et que je cr�e une fonction dans une autre fichier.h et que je compile, il me dit que signed ne peut pas �tre utilis� avec double... et il me pose un probleme avec le calcul d'une racine carr� sur un signed double (le nombre sous la racine est assurement positif...)
Par contre je precise que je ne rencontre pas tout ces problemes si j utilise des float dans ma fonction, je suis par contre oblige de generer une matrice avec des signed float pour avoir les coefs negatifs.
Voil�, je vous remercie en attendant vos explications !
Partager