Newsgroup: it.comp.lang.visual-basic
Titolo: Differenza fra due numeri uguali =

Salve, a tutti mi succede una cosa strana.
Ho un campo in una tabella Access tipo "DOPPIA PRECISIONE" ed tolgo con un
ciclo for una qta fino ad arrivare a 0. Il problema quando deve fare zero
spunta un numero esponeziale. La variabile e' stata dichiarata double.
Cosa ho sbagliato !!!!!
Ciao
Franco

 Cosa ho sbagliato !!!!!
sicuramente ad utilizzare i punti esclamativi al posto di quelli
interrogativi.
dal punto di vista informatico, invece, è una cosa molto più sottile, e
coinvolge la questione della rappresentazione binaria di un numero
decimale. ti è proprio indispensabile utilizzare un numero a virgola
mobile?
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Cosa ho sbagliato !!!!!
Prima di usare i numeri a precisione doppia bisogna capire come (non)
funzionano.
Il numero esponenziale di cui parli ha sicuramente esponente negativo
(cioč č molto piccolo).
Per risolvere il tuo problema non devi usare mai l'operatore "=" o "<>"
con i numeri a singole/doppia precisione.
Al posto di scrivere "if a=b" devi scrivere "if abs(a-b)<epsilon"
Al posto di scirvere "if a<>b" devi scrivere "if abs(a-b)>epsilon"
Dichiara epsilon come costante uguale ad un numero ragionevolmente piccolo
in base ai calcoli che fai (es: const epsilon as Double = 10^-10)
termoPilucco
-- 


 Al posto di scirvere "if a<>b" devi scrivere "if abs(a-b)>epsilon"
Facciamo che "if abs(a-b)>epsilon" diventa "if abs(a-b)>=epsilon"
altrimenti rischi di avere due numeri che non sono nè uguali nè diversi.


 termoPilucco ha scritto:
ue matematico!
 spiegami una cosa che non c'entra nulla con sto post
Dato un numero irrazionale...allo stato della tecnica computazionale odierna
esiste qualche algoritmo che mi calcoli la n-sima cifra decimale senza
calcolare le precedenti?
es. la 275 cifra decimale del pi greco?
-- 
Il Wodkino Nazionale č a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Demo classe vb.NET :
WodkaThumb 
www.villaceleste.it
  click su "spippolando e
Programmando"

 es. la 275 cifra decimale del pi greco?
Io mi risponderei di no essendo la divisione operata sul resto della
divisione precedente ed essendo quindi una catena.....ma solo ad intuito!
Caso mai roba strana matematica mi dice che teoricamente č possibile!


 Caso mai roba strana matematica mi dice che teoricamente è possibile!
Anch'io ripsonderei di no, ma la risposta è NI :)
E' possibile calcolare le i-esima cifra esadecimale di Pi senza essere a
conoscenza delle precedenti :)
Non chiedermi come, ma Google sa.


 Caso mai roba strana matematica mi dice che teoricamente è possibile!
Quesito molto interessante...
La divisione non c'entra molto con il calcolo di un numero irrazionale (per
definizione non ottenibile come rapporto tra interi).
Comunque il tuo intuito è giusto, guarda cosa ho trovato con gooogle:
http://mathworld.wolfram.com/BBPFormula.html
http://www.matematicamente.it/cimolin/formula/formula8.htm
Tra l'altro sembra essere una scoperta relativamente recente.
Bye
Raf

Grazie
Ho risolto
Franco

 Tra l'altro sembra essere una scoperta relativamente recente.
Bei link :-)
Mi ha incuriosito/divertito la frase finale del secondo link:
"
A titolo di curiosità: nel Novembre del 2000 è stata calcolata la 
million-miliardesima (10^15 -esima) cifra di pi greco, che in 
esadecimale è 0.
"
Mi sfugge la necessita' distinguere tra uno 0 decimale ed uno
esadecimale...
-- 
ciao, hal

esadecimale...
Preso singolarmente non c'č, ma visto che la cifra č in mezzo ad un numero...
val("&H2200ff")= 2228479 
dov'č finito lo zero esadecimale? :)
termoPilucco

 In data Tue, 18 Jan 2005 22:40:15 +0100, hal1961: scrisse:
si ok!
funziona per pigreco e ho seguito un po i link per "e"
ma esiste un metodo genarele per i numeri irrazionali?
e se no perchè?
e poi....
la formula parla di non fare una semplice sostituzione di termini ma di
risultati di semplici algoritmi
in che linguaggio non mi importa....
ma ci son esempi?...tanto per studiare un po cosa fanno!
Oppure è roba che è sotto copyright e non si trova a giro?
tutto questo perchè?
perchè mi era venuto l'idea di dire....
se si può fare il calcolo dell'n-esima cifra in tempi brevi...perche non
mettere l'algoritmo in un programma e fornire come chiave di attivazione
23 16523 3543 26252 24244
come serie di numeri n-esimi di un numero irrazionale
poi fare la somma (ma la somma è facilmente crakkabile... ho in mente altro)
...se è uguale a quella memorizzata nel prog...si sblocca!
tutto quanto sopra per puro divertimento intellettuale!...una s**a
intellettuale!
-- 
Il Wodkino Nazionale è a : 
www.martek.it


 ....se è uguale a quella memorizzata nel prog...si sblocca!
E invece usare un hash del codice di attivazione?
es: codice attivazione 23 & hash("23" & passwordhardcoded))
="23ae20932302204344" (a caso)
il programma legge 23, calcola  hash("23" & passwordhardcoded)), se
coincide con la chiave di attivazione si sblocca.
Il punto debole (debolissimo) è che passwordhardcoded è appunto hard coded
:) ma non c'è nulla che si possa fare per evitarlo se non inserire
l'autenticazione su un server presso la propria SH, dove la password è
sempre hard coded, ma sta "in casa".
