Bonjour, je suis tombé sur un pb. J'arrive à l'identifier et à le corriger, mais je ne sais pas pourquoi ce que j'ai fait fonctionne. Voici mon programme (archi simple) :
la sortie est
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tout va bien. Maintenant, je me suis dit que k et n étaient > 0 donc je vais les modifier en mettant un unsigned devant (en fait, à terme, j'aurais des unsigned long long int car j'aurais de très grands entiers). Voici mon nouveau prgm (je n'ai que modifié la première ligne du main en y ajoutant un unsigned)aux2 = 0.001128
et là, la sortie est
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ce qui ne vas pas du tout. Donc pour corriger je dois faireaux2 = inf
Quand j'affiche k-n il me renvoie -9. Certes, ce sont des unsigned donc le problème vient de là (enfin je pense). Pourquoi la conversion de l'entier k-n en double n'est-elle pas automatique ? man pow me dit que la fonction pow prend deux doubles en entrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Merci.

 

 
		
		 
        

 
			
			

 
   


 int, unsigned int, et la fonction pow
 int, unsigned int, et la fonction pow
				 Répondre avec citation
  Répondre avec citation 
			 !!
  !! .
 .

 
  
 
 
			 Envoyé par Dev-FX
 Envoyé par Dev-FX
					
				
 c'est du C c'est pas du MatLab...
 c'est du C c'est pas du MatLab... j'rigole...il faut savoir que le C est très "strict"...donc si une fonction te demande un double, ne lui mets pas un unsigned int...
 j'rigole...il faut savoir que le C est très "strict"...donc si une fonction te demande un double, ne lui mets pas un unsigned int...
Partager