du compilateur.
Bonjour,
Je suis débutant en programmation et je me pose quelques questions. Imaginons que j'aie besoin, pour la simulation d'un phénomène physique, d'un programme très simple, cependant réitéré un trèèès grand nombre de fois. J'ai des questions par rapport à son optimisation, car j'ignore comment marche un compilateur. Je vais donc poster un code, puis des idées de variantes. Pourriez-vous me dire si une des variantes est préférables ? Ou si mon code est nul sur le principe?
Code :
int a,b;
int c[tres_tres_gros_nombre]; // tableau d'entiers
for(int i=0;i<=tres_tres_gros_nombre-1;i++)
{
a = (formule qui depend de i...);
b = (autre formule...);
c[i] = a/b ;
}
Variante 1 :
si dans la boucle, je mets directement :
c[i] = (formule qui depend de i...) / (autre formule...) ;
c'est à dire que je ne passe pas par le calcul de a et b. J'imagine que le programme sera plus rapide ?
Variante 2 : si à la place de (formule qui depend de i...) et (autre formule...) je met f(i) et g(i), deux fonctions qui seraient déclarées et définies en amont du programme (et qui font le même calcul), ça serait moins rapide?
Enfin, toute dernière question, qui n'a pas grand chose à voir.
float a = 1;
float b = 10;
float c = a/b;
cout >> c; // cela m'affiche 0.1
------------------
float a = 1/10;
cout >> c; // cela m'affiche 0
Pourquoi?
Merci infiniment chers forumeurs