Programmeren in C/Datatypes: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
links en rechts was omgekeerd |
|||
Regel 131:
</source>
}}
Bovenstaande code zal niet het resultaat opleveren dat de naïeve programmeur ervan verwacht, ondanks het feit dat 3*(1/3) wel degelijk 1 is. Dit ligt aan het feit dat een binaire representatie van 1/3 als floating point onmogelijk is en er dus een fout wordt geintroduceerd. Een hele kleine fout weliswaar (afhankelijk van de precisie van ''double'' op
De gebruikelijke oplossing ziet er (ongeveer) als volgt uit.
|