Select the product you need help with
Operazioni aritmetiche dei valori in virgola mobile potrebbe produrre risultati non accurati in ExcelIdentificativo articolo: 78113 - Visualizza i prodotti a cui si riferisce l?articolo. In questa paginaSommarioIn questo articolo viene descritta la modalità di memorizzazione e di calcolo dei numeri a virgola mobile in Microsoft Excel. Il criterio utilizzato potrebbe incidere su alcuni numeri o formule a causa dell'arrotondamento e/o del troncamento dei dati. Cenni preliminariMicrosoft Excel è stato progettato tenendo conto della specifica IEEE 754 relativamente alla memorizzazione e al calcolo dei numeri a virgola mobile. L'IEEE (Institute of Electrical and Electronics Engineers) è un'associazione internazionale che, tra le altre attività, determina gli standard in campo software e hardware. La specifica 754 è molto diffusa e descrive il modo in cui i numeri a virgola mobile vanno memorizzati in un computer binario. La sua notorietà è dovuta al fatto che consente la memorizzazione dei numeri a virgola mobile in uno spazio ragionevole e l'esecuzione dei calcoli in tempi abbastanza rapidi. Lo standard 754 è utilizzato nelle unità a virgola mobile e nei processori di dati numerici di quasi tutti i microprocessori basati su PC di oggi che implementano la matematica a virgola mobile, compresi i processori Intel, Motorola, Sun e MIPS.Durante la memorizzazione dei numeri, un numero binario corrispondente può rappresentare ogni numero o frazione di numero. La frazione 1/10, ad esempio, può essere rappresentata nel sistema decimale come 0,1. ma lo stesso numero in formato binario diventa un decimale binario ripetitivo 0001100110011100110011 (e così via) e può essere ripetuto all'infinito. Questo numero non può essere rappresentato in uno spazio finito (limitato). Di conseguenza, questo numero viene arrotondato da circa - 2.8E - 17 quando è memorizzato.La specifica IEEE 754 presenta tuttavia dei limiti che rientrano in tre categorie principali:
Informazionilimiti massimi/minimiTutti i computer dispongono di un numero massimo e minimo che può essere gestito. Poiché il numero di bit di memoria in cui il numero viene memorizzato è limitato, il numero massimo o minimo memorizzabile è anch'esso limitato. Per Excel il numero massimo memorizzabile è 1,79769313486232E+308 e il numero minimo positivo memorizzabile è 2,2250738585072E-308.Casi di adesione alla specifica IEEE 754
Casi di mancata adesione alla specifica IEEE 754
PrecisioneUn numero a virgola mobile viene memorizzato in formato binario in tre parti all'interno di un intervallo a 65 bit: il segno dell'esponente e la mantissa.Riduci questa tabella
La mantissa e l'esponente sono entrambi memorizzati come componenti separati. Di conseguenza il livello di precisione possibile può dipendere della dimensione del numero (la mantissa) da gestire. Nel caso di Excel, anche se in questo programma è possibile memorizzare numeri da 1,79769313486232E308 a 2,2250738585072E-308, ciò è fattibile solo entro 15 cifre di precisione. Tale limite deriva dall'adesione completa alla specifica IEEE 754 e non dipende direttamente da Excel. Questo livello di precisione si riscontra anche in altri programmi di fogli di calcolo. I numeri a virgola mobile vengono rappresentati in formato riportato di seguito, dove l'esponente è l'esponente binario: X = frazione * ^(exponent-bias) 2 Frazione è la parte frazionaria normalizzata del numero normalizzata perché l'esponente è modificato in modo che il bit iniziale sia sempre 1. In tal modo non deve essere memorizzato e si ottiene un bit in più di precisione. Ciò giustifica l'esistenza di un bit implicito. Il criterio è simile alla notazione scientifica, in cui si manipola l'esponente in modo da avere una cifra a sinistra della virgola decimale; ad eccezione del formato binario, perché ci sono solo i numeri 1 e 0, è sempre possibile manipolare l'esponente in modo che il primo bit sia 1.Differenza è il valore utilizzato per non dover memorizzare esponenti negativi. La differenza per numeri a precisione singola è 127 e 1023 (decimale) per i numeri a precisione doppia. In Excel i numeri sono memorizzati con la precisione doppia. Esempio con numeri molto grandiImmettere quanto segue in una nuova cartella di lavoro:A1: 1.2E+200 B1: 1E+100 C1: =A1+B1 Esempio con numeri molto piccoliImmettere quanto segue in una nuova cartella di lavoro:A1: 0.000123456789012345 B1: 1 C1: =A1+B1 Correzione degli errori di precisioneExcel offre due metodi di base per compensare gli errori di arrotondamento: la funzione ARROTONDA e l'opzione Approssimazione come visualizzata o set precisione come visualizzato della cartella di lavoro.Metodo 1: La funzione ARROTONDAL'esempio seguente, in cui sono utilizzati i dati riportati sopra, impiega la funzione ARROTONDA per limitare un numero a 5 cifre. In tal modo è possibile confrontare il risultato con un altro valore.A1: 1.2E+200 B1: 1E+100 C1: =ROUND(A1+B1,5) risultati in 1.2E + 200. D1: =IF(C1=1.2E+200, TRUE, FALSE) Genera il valore VERO. Metodo 2: Approssimazione come visualizzataIn alcuni casi, potrebbe essere in grado di impedire di danneggiare il proprio lavoro utilizzando l' Approssimazione come visualizzata errori di arrotondamento opzione. In base a questa opzione il valore di ogni numero del foglio di lavoro diventa obbligatoriamente il valore visualizzato. Per attivare questa opzione, attenersi alla seguente procedura:
Numeri binari periodici e calcoli con risultati prossimi allo zeroUn altro problema che crea confusione relativamente alla memorizzazione dei numeri a virgola mobile nel sistema binario consiste nel fatto che alcuni numeri, finiti e non periodici su base decimale, sono infiniti e periodici nel sistema binario. L'esempio più comune è il valore 0,1 e le sue varianti. Per quanto tale numero possa essere rappresentato perfettamente nel sistema decimale, lo stesso nel formato binario diventa il seguente numero binario periodico nel momento in cui viene memorizzato nella mantissa:000110011001100110011 (e così via) La specifica IEEE 754 non contiene disposizioni particolari per alcun numero; memorizza il possibile nella mantissa e tronca il resto. Durante la memorizzazione viene provocato un errore di circa -2,8E-17, o 0,000000000000000028.Persino le frazioni decimali più comuni, come 0,0001, non possono essere rappresentate esattamente nel sistema binario. (0,0001 è una frazione binaria periodica con un intervallo periodico di 104 bit). Il caso è simile alla ragione per cui la frazione 1/3 non può essere rappresentata esattamente nel formato decimale (valore periodico 0,33333333333333333333). Questo spiega perché un semplice esempio in Visual Basic, Applications Edition Esempio con l'aggiunta di un numero negativo
Esempio in cui un valore raggiunge lo zero
In Excel 97, tuttavia, è stata introdotta una funzione che tenta di risolvere questo problema. Un'operazione di addizione o sottrazione comporterà il valore in o molto vicino a zero, Excel 97 e in seguito verrà compensare eventuali errori di conversione di un operando da e in formato binario. Se l'esempio citato sopra viene eseguito in Excel 97 e nelle versioni successive, viene correttamente visualizzato 0 o 0,000000000000000E+00 nella notazione scientifica. Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito: 172911
(http://support.microsoft.com/kb/172911/
)
Risultato errato generazione 10 alla potenza molto grandi o molto piccola 214373 Per ulteriori informazioni sui numeri a virgola mobile e la specifica IEEE 754, visitare i seguenti siti Web (informazioni in lingua inglese):
(http://support.microsoft.com/kb/214373/
)
Risultato errato generazione 10 alla potenza molto grandi o molto piccola http://www.ieee.org
(http://www.ieee.org)
http://stevehollasch.com/cgindex/coding/ieeefloat.html
(http://stevehollasch.com/cgindex/coding/ieeefloat.html)
RiferimentiPer ulteriori informazioni su come ovviare a questi errori, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito: 214118
(http://support.microsoft.com/kb/214118/
)
Come correggere gli errori di arrotondamento nelle operazioni aritmetiche dei valori in virgola mobile ProprietàIdentificativo articolo: 78113 - Ultima modifica: giovedì 13 maggio 2010 - Revisione: 7.0 Le informazioni in questo articolo si applicano a:
Traduzione automatica articoli Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica. Clicca qui per visualizzare la versione originale in inglese dell?articolo: 78113
(http://support.microsoft.com/kb/78113/en-us/
)
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Traduzione articoli
|




Torna all'inizio








