GNT sans publicité, site mobile, fonctionnalitées exclusives...

Operations sur double

Le
Bertrand Servin
Bonjour,

ma question concerne les operations sur des variables de type double.
Je vais essayer d'écrire un pseudo-code qui résume mon problème, (je ne
l'ai pas testé tel quel).

Disons que je dispose d'une fonction

double update_b0( void )
{
double ret;
/* Choisit une nouvelle valeur pour ret */

return ret;
}

que j'utilise pour mettre à jour une variable. Ensuite j'ai
une fonction:

int update_b0b1(double *b0, double *b1) {

double k = *b1/*b0;

*b0°_update();
*b1=k*(*b0);

return 0;
}

J'aimerais savoir si la valeur de k récupérée par *b1/*b0
sera toujours la même au cours des appels à la fonction update_b0b1.

Je sais que ça va paraitre bizarre, mais l'idée est que je voudrais
stocker deux variables (a,k) non pas directement mais en stockant:
b0=a
b1=a*k

Pour cela j'ai besoin d'être sûr que la valeur de k reste inchangée
avec la procédure décrite ci-dessus.

J'espère que c'est à peu près clair,
Merci pour votre aide,
--
Bertrand
Lire les 2 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Horst Kraemer
Le #861839
Bertrand Servin
Bonjour,

ma question concerne les operations sur des variables de type double.
Je vais essayer d'écrire un pseudo-code qui résume mon problème, (je ne
l'ai pas testé tel quel).

Disons que je dispose d'une fonction

double update_b0( void )
{
double ret;
/* Choisit une nouvelle valeur pour ret */

return ret;
}

que j'utilise pour mettre à jour une variable. Ensuite j'ai
une fonction:

int update_b0b1(double *b0, double *b1) {

double k = *b1/*b0;

*b0°_update();
*b1=k*(*b0);

return 0;
}

J'aimerais savoir si la valeur de k récupérée par *b1/*b0
sera toujours la même au cours des appels à la fonction update_b0b1.


Oui. Une affectation k = *b1/*b0 ne correspond pas une formule dans un
tableau EXCEL ;-) k obient sa valeur au moment de l'affectation et la
valaue de k ne change pas si le programmeur ne la change pas plus
tard, c.a.d. la valeur de k après

k = *b1/*b0;

est identique à la valeur de k avant

*b1 = k**b0;

bien que *b0 a été changé. Je ne suis pas sur si j'ai bien compris la
question...

--
Horst

Serge Paccalin
Le #861835
Le mardi 31 mai 2005 à 23:47, Bertrand Servin a écrit dans
fr.comp.lang.c :

double k = *b1/*b0;


Une note en passant : faites très attention avec la ligne ci-dessus ;
vous avez ouvert un commentaire avec « /* »...

Pensez à écrire :
double k = *b1 / *b0;

Vive les éditeurs à coloration syntaxique.

--
___________ 01/06/2005 13:41:49
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763

Publicité
Suivre les réponses
Poster une réponse
Anonyme