Réels et réalité

Contenu du snippet

Soucieux d'assurer un certain confort à mes vieux jours, je suis allé trouver mon banquier. Comme je n'avais qu'un peu moins de deux euros en poche, il m'a proposé ce plan :
"Vous déposez (e-1) euros soit 1.7182818651 ?. La première année, vous y perdrez, car on multiplie votre avoir par 1 et on prélève 1.00 ? de frais de gestion. Mais le deuxième année, on multiplie votre avoir par 2 et on prélève toujours 1.00 ?. La troisième année, on multiplie par 3, et ainsi de suite, le n-ième année on multiplie par n, tout en ne prélevant chaque année qu'un euro. Ça vous va ? Signez là !
- Hou, là ! M. le banquier ! Votre empressement me trouble. Cette offre ne cacherait-elle point quelque flouerie ? Je m'en vais de ce pas m'enquérir après de mon ordinateur de ce que pourrait cacher votre proposition, et calculer que deviendront dans 25 ans les précieuses économies que vous me demandez de vous confier! Je pratique Delphi, moi !"

Source / Exemple :


procedure TForm1.CalculeMaFortune;
var
  x : real48;
//  x : single;
//  x : double;
//  x : extended;
  i : integer;
begin
  x := exp(1)-1;
  for i:=1 to 25 do
  begin
    x:=(x*i)-1;
  end;
  Edit1.Text :=FloatToStrf(x,ffFixed,25,2);
end;

Conclusion :


Mais qu'est ce qu'il se passe t'il ?

si X est du type Real48, je devrais 13069463212960.00 ? dans 25 ans,
si X est du type Single, j'aurais 568654735142289408.00 ? dans 25 ans,
si X est du type Double, j'aurais 1201807247.41 ? dans 25 ans,
si X est du type Extended, j'aurais 1052910.85 ? dans 25 ans,

C'est à la suite du message sur le forum "les extended sont-ils tout pourris?" que cette histoire m'est revenue. Elle montre bien que dans certains cas, nos calculs informatique ne valent pas tripette.
Au fait, savez vous ce qu'il serait advenu de mon placement si j'avais écouté le banquier ?

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.