La calcolatrice di Google sbaglia
Certo, errare è umano. Ma da sviluppatore non mi spiego perché e come si può verificare un errore di questo tipo. O meglio, è spiegabile: sicuramente si tratta di un overflow della variabile che contiene i numeri che, convertiti in binario – per fare i calcoli – genera questa anomalia.
Non sto dando i numeri, mi spiego. Andando su Google e digitando un operazione matematica nell’area di ricerca, si attiva in automatico la calcolatrice. Infatti, cliccando su “Cerca” avremo nella prima riga il risultato dell’operazione e poi tutti i risultati della ricerca.
Ora, se proviamo a fare l’operazione “399999999999999-399999999999998” succede che da come risultato zero, invece di uno.
Certo, non conosco il funzionamento ne l’algoritmo che implementa il sistema di elaborazione dati. Ma suppongo si tratti di un congegno che parserizza la stringa digitata e, nel caso del nostro esempio, trova il primo termine ed il secondo e fa l’operazione.
Ora mi chiedo: se i termini sono due, non possono fare un controllo così che se sono uguali, non fa nemmeno l’operazione, ma da come risultato direttamente zero? In questo modo si risparmiano calcoli, conversioni da stringa a binario e quindi clock del processore del server!
Forse starò minimizzando troppo, magari ho sottovalutato la situazione, ma almeno ora non ne staremmo parlando!











Wow
avrai fatto un pò di tentativi per arrivare ad ottenere quell’ “errore”.
Comunque, NON conoscendo l’algoritmo che ci sta dietro posso supporre che l’ “errore” sia dovuto alla ‘precisione’ adottata dall’implementazione della calcolatrice. Mi spiego meglio, magari le cifre “significative” per la calcolatrice di Google sono le prime 14 e le altre, anche se le copia (magari toglierla gli costerebbe in termini di clock del processore :)) ) non le utilizza nel calcolo.
Una calcolatrice che esegue anche i calcoli irrazionali (tipo la radice quadrata di -1), si ferma alle prime 14 cifre?
Mi sembra abbastanza improbabile onestamente, ma tutto può essere!
P.S.
Non l’ho scoperto io il bug, c’è mezzo web tappezzato con questa cosa!
Non c’è che dire, con le calcolatrici ci si fa spesso una pessima figura. Chi si ricorda degli errori della calcolatrice di Windows (qualche versione fa)?
me ne puoi dire alcuni perfavore??? non sapevo di questa cosa…
ahahahah, forte, se per questo ha problemi anche con 8 cifre dopo la virgola:
0.99999999 - 0.99999998 = 9.99999994 × 10^-9