Adesso qualcuno sa come approssimare il confronto???
Io avevo pensato a una cosa poco ortodossa tipo:
moltiplicare per 1000 i valori dei prodotti
cosi facendo ad esempio 0.1235478 diventa 123.5478
assegnare l'intero di tale valore ad una variabile appoggio ( ovvero app=(int) variabile )
dunque si passa da 123.5478 a 123
dividere dunque per 1000 e riassegnare il valore alla variabile di partenza
ovvero 123 diventa 0.123
[C++] Errore di calcolo
Moderatori:
Paolino,
fairyvilje
24 messaggi
• Pagina 3 di 3 • 1, 2, 3
0
voti
i, il sistema che hai descritto in [22] va bene.
Tuttavia, sarà perché come microcontrollista sono sempre "tirato per il collo" ed ho sempre problemi di RAM, usa variabili double, tu che hai la possibilità di farlo.
Tuttavia, sarà perché come microcontrollista sono sempre "tirato per il collo" ed ho sempre problemi di RAM, usa variabili double, tu che hai la possibilità di farlo.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
1
voti
Manu18life ha scritto:Adesso qualcuno sa come approssimare il confronto???
I confronti tra numeri in floating point conviene farli non con ==, ma controllando che il numero da confrontare stia in un certo intervallo centrato nel numero di riferimento. Per esempio:
- Codice: Seleziona tutto
#define DELTA 1e-3
...
double x, x0;
...
if ( x >= x0-DELTA && x <= x0+DELTA ) {
Confronto ok;
}
oppure
- Codice: Seleziona tutto
#define DELTA 1e-3
...
double x, x0;
...
if ( fabs(x-x0) <= DELTA ) {
Confronto ok;
}
Anche questo modo però non è sempre sicuro. Per maggiori dettagli, leggi qui.
PS: lasciati dire che il tuo stile di programmazione lascia veramente molto a desiderare
It's a sin to write
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-

DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
24 messaggi
• Pagina 3 di 3 • 1, 2, 3
Chi c’è in linea
Visitano il forum: Nessuno e 52 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)