// questo programma è stato scritto da Fabio // // mostra che la differenza 1 - 1 non fa 0. // perché il primo 1 è stato ottenuto moltiplicando 0.1*10 // un'operazione che (in base 2) comporta degli errori di troncamento. // Gli errori diventano visibili solo quando si elimina la parte intera del numero (1) // Dando modo all'elaboratore di visualizzare solo la parte decimale in notazione esponenziale // // in un sistema a 32 bit, il risultato della differenza dovrebbe essere 1.49012e-08 #include int main () { float differenza; differenza = 0.1*10.0-1.0; std::cout << differenza << "\n"; return 0; }