Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Int(pow(10,2))

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Int(pow(10,2))

Messaggioda Foto Utentefrancicoma » 19 ott 2016, 0:38

Come mai
Int(pow(10,2))=99???
Avatar utente
Foto Utentefrancicoma
60 1 6
Frequentatore
Frequentatore
 
Messaggi: 151
Iscritto il: 5 lug 2013, 1:23

2
voti

[2] Re: Int(pow(10,2))

Messaggioda Foto UtenteDarwinNE » 19 ott 2016, 0:46

Su Arduino?


Io Arduino non l'ho mai usato, comunque questo genere di cose di solito accade quando il risultato di un calcolo non è esattamente un intero ed il risultato viene troncato, e non arrotondato.

Per esempio, immagino che pow(10,2) sia un'elevazione a potenza con numeri a virgola mobile (o qualcosa di simile). Facciamo finta che invece che 100,0000 per una ragione o per un'altra legata a come i numeri sono rappresentati in memoria venga fuori qualcosa tipo 99,99999 con il numero di 9 opportuno.
Se si arrotonda all'intero più vicino 99,99999 si ottiene 100. Se invece si tronca la parte decimale, si ottiene 99.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[3] Re: Int(pow(10,2))

Messaggioda Foto UtenteEcoTan » 19 ott 2016, 8:14

In tal caso conviene aggiungere 0.5 prima di convertire da floating a intero.
Avatar utente
Foto UtenteEcoTan
7.720 4 12 13
Expert EY
Expert EY
 
Messaggi: 5421
Iscritto il: 29 gen 2014, 8:54

0
voti

[4] Re: Int(pow(10,2))

Messaggioda Foto Utentelelerelele » 19 ott 2016, 11:23

il problema è gia stato affrontato qua
http://stackoverflow.com/questions/19126809/c-i-got-different-results-with-pow10-2-and-pow10-j-j-2

devi sempre stare attento ad i formati numerico che passi alle funzioni, a volte possono fregare.....

saluti.
Avatar utente
Foto Utentelelerelele
4.899 3 7 9
Master
Master
 
Messaggi: 5505
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti