Discussione:
precisione singola e doppia
(troppo vecchio per rispondere)
Gabriele
20 anni fa
Permalink
cosa significa che in visual basic ci sono i tipi di dati a precisione
singola (solo 7 cifre sono precise ) e a precisione doppia ?
cioè se ho un numero a precisione singola 12.345.678,97 vuol dire che il
valore 8,97 può essere più o meno preciso : quindi anche il numero
12345679,01 potrebbe andare bene .

chi mi spiega ?

grazie e ciao
ciruz
20 anni fa
Permalink
Post by Gabriele
cosa significa che in visual basic ci sono i tipi di dati a precisione
singola (solo 7 cifre sono precise ) e a precisione doppia ?
cioè se ho un numero a precisione singola 12.345.678,97 vuol dire che il
valore 8,97 può essere più o meno preciso : quindi anche il numero
12345679,01 potrebbe andare bene .
ma nemmeno poco poco! :D
Post by Gabriele
chi mi spiega ?
precisione singola o doppia indica quanti bit utilizzi per rappresentare
un numero, e dipende sia dal calcolatore che dall'implementazione del
compilatore. In sostanza, quello che viene definita è la più piccola
distanza tra due numeri reali (rappresentabili dal calcolatore), che è
tanto più piccola quanto più bit puoi utilizzare per rappresentare il numero

Crz
--
“Per chi volesse una prova che i fisici sono umani, la prova sta
nell'idiozia di tutte le unità di misura differenti usate per misurare
l'energia.”
(R.P. Feynman)
Stefano Gemma
20 anni fa
Permalink
...
Post by ciruz
precisione singola o doppia indica quanti bit utilizzi per rappresentare
un numero, e dipende sia dal calcolatore che dall'implementazione del
Vero, ma ci sono anche degli standard internazionali, per definire il
formato dei numeri "floating point".
Post by ciruz
compilatore. In sostanza, quello che viene definita è la più piccola
distanza tra due numeri reali (rappresentabili dal calcolatore), che è
tanto più piccola quanto più bit puoi utilizzare per rappresentare il numero
Non esattamente. Una parte dei bit viene usata per memorizzare l'esponente e
una parte per la mantissa. Di fatto, perciò, vengono definite le dimensioni
massime di mantissa ed esponente (memorizzati entrambi in binario).

Stefano
ciruz
20 anni fa
Permalink
Post by Stefano Gemma
Vero, ma ci sono anche degli standard internazionali, per definire il
formato dei numeri "floating point".
Assolutamente si, non ho voluto citare l'ANSI in primis per evitare
scoramento da parte del nostro, secondariamente perchè molti (troppi?)
compilatori poi fanno più o meno quello che pare a loro, ed infine
perchè ero già terribilmente OT :D
Post by Stefano Gemma
Non esattamente. Una parte dei bit viene usata per memorizzare l'esponente e
una parte per la mantissa. Di fatto, perciò, vengono definite le dimensioni
massime di mantissa ed esponente (memorizzati entrambi in binario).
Certo, lo so, non ho voluto tirare fuori nulla che fosse più complicato
del necessario, IMHO. Visto qual'era il dubbio di partenza di Gabriele,
ho volutamente semplificato la problematica. Si tratta quindi pur sempre
di rappresentare un numero reale, poi il come (ovvero mediante una
rappresentazione fp con mantissa-esponente) ho preferito rispiarmarlo...

crz
--
“Per chi volesse una prova che i fisici sono umani, la prova sta
nell'idiozia di tutte le unità di misura differenti usate per misurare
l'energia.”
(R.P. Feynman)
Stefano Gemma
20 anni fa
Permalink
...
Post by ciruz
Certo, lo so, non ho voluto tirare fuori nulla che fosse più complicato
del necessario, IMHO. Visto qual'era il dubbio di partenza di Gabriele,
...

Però hai dato una risposta imprecisa. Questo è un ng di matematica, in
fondo...

Stefano
ciruz
20 anni fa
Permalink
Post by Stefano Gemma
Post by ciruz
Certo, lo so, non ho voluto tirare fuori nulla che fosse più complicato
del necessario, IMHO. Visto qual'era il dubbio di partenza di Gabriele,
...
Però hai dato una risposta imprecisa. Questo è un ng di matematica, in
fondo...
No, imprecisa no. Incompleta, sicuramente ;)

crz
--
“Per chi volesse una prova che i fisici sono umani, la prova sta
nell'idiozia di tutte le unità di misura differenti usate per misurare
l'energia.”
(R.P. Feynman)
Stefano Gemma
20 anni fa
Permalink
...
Post by ciruz
No, imprecisa no. Incompleta, sicuramente ;)
...

Milano è a sud di Napoli.

1) Informazione imprecisa?
2) no, è un'informazione incompleta: basta circumnavigare tutto il globo,
per andare da Napoli a Milano, dirigendosi verso Sud.

Io voto 1 ;)

Stefano
Stefano Gemma
20 anni fa
Permalink
PS: aggiungerei il seguente assioma/postulato/teorema:

"qualunque proposizione falsa può essere resa vera integrandola con
opportune proposizioni"

;)))))

Stefano
Elio Fabri
20 anni fa
Permalink
Post by Stefano Gemma
Milano è a sud di Napoli.
1) Informazione imprecisa?
2) no, è un'informazione incompleta: basta circumnavigare tutto il
globo, per andare da Napoli a Milano, dirigendosi verso Sud.
Io voto 1 ;)
Confesso che non ti ho capito: Milano *non e'* a sud di Napoli,
l'informazione e' _sbagliata_.
Sulla Terra esiste un punto piu' a sud di tutti gli altri, mentre non
esiste un punto piu' a est di tutti gli altri.


------------------------------
Elio Fabri
Dip. di Fisica - Univ. di Pisa
------------------------------
Stefano Gemma
20 anni fa
Permalink
Post by Stefano Gemma
Milano è a sud di Napoli.
...
Post by Stefano Gemma
Io voto 1 ;)
Confesso che non ti ho capito: Milano *non e'* a sud di Napoli,
l'informazione e' _sbagliata_.
...

Esatto. Così come l'informazione data relativamente alla domanda posta
all'inizio del thread è sbagliata, non imprecisa, e non ci sono dati
integrativi che tengano... resta comunque sbagliata (magari per esigenze
"didattiche"... ma comunque sbagliata).

Stefano
ciruz
20 anni fa
Permalink
Post by Stefano Gemma
Esatto. Così come l'informazione data relativamente alla domanda posta
all'inizio del thread è sbagliata, non imprecisa, e non ci sono dati
integrativi che tengano... resta comunque sbagliata (magari per esigenze
"didattiche"... ma comunque sbagliata).
continuo a non vedere dove sta l'errore. Ribadisco che mi pare al
massimo eccessivamente semplificato, ma errato non vedo dove.

crz
--
“Per chi volesse una prova che i fisici sono umani, la prova sta
nell'idiozia di tutte le unità di misura differenti usate per misurare
l'energia.”
(R.P. Feynman)
Stefano Gemma
20 anni fa
Permalink
...
continuo a non vedere dove sta l'errore. Ribadisco che mi pare al massimo
eccessivamente semplificato, ma errato non vedo dove.
C'era scritto: "quello che viene definita è la più piccola distanza tra due
numeri reali (rappresentabili dal calcolatore), che è tanto più piccola
quanto più bit puoi utilizzare per rappresentare il numero".

Non è corretto, secondo me, perché la più piccola distanza tra due numeri
reali, rappresentati in FP, dipende moltissimo da quanti bit dedichi
all'esponente e quanti alla mantissa, anche tenendo fisso il numero di bit
globali. Dati due numeri FP, se cambi il rapporto tra numero di bit di
mantissa/esponente, puoi avere che il numero con più bit globali ha la
maggiore distanza minima... mentre ti aspetteresti il contrario (dalla
"definizione" tra virgolette). In effetti, se (per assurdo, ma legale)
dedicassimo tutti i bit all'esponente (tranne 2 per la mantissa), avremmo la
minore distanza minima in assoluto, ma un numero con una scarsissima
precisione. Se destinassimo tutti i bit alla mantissa, avremo un numero con
una maggiore distanza minima ma una migliore precisione (sarebbe
praticamente un intero).

IMHO, ovviamente ;)

Stefano

Gabriele
20 anni fa
Permalink
Post by ciruz
Post by Gabriele
cioè se ho un numero a precisione singola 12.345.678,97 vuol dire che
il valore 8,97 può essere più o meno preciso : quindi anche il numero
12345679,01 potrebbe andare bene .
ma nemmeno poco poco! :D
l'esempio delle sette cifre significative l'ho preso da un libro su VB6 ,
sei sicuro che non sia corretto?
Il numero memorizza solo le prime 7 cifre , le altre vengono arrotondate ,
per cui spariscono!

per cui :

12.345.678,97 = 12.345.680,00 = 12.345.679,01

Ti risulta ?

Ciao e grazie
Kiuhnm
20 anni fa
Permalink
Post by Gabriele
Ti risulta ?
Studiati la rappresentazione floating point (usa google).

Kiuhnm
Continua a leggere su narkive:
Loading...