|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2003
Messaggi: 49
|
[C] Bug Misterioso
Un mio amico mi ha passato questo codice...ho provato a compilarlo e va tutto ok....ma presenta un misterioso bug nella potenza del 5....in un caso da 24 anzichè 25...
tutto il resto sembra ok... #include <stdio.h> #include <stdlib.h> #include <math.h> void main() { int a=0, b=0; int tot; int num; for(a=0;a<10;a++) { b=pow(a,1); printf("\n%d^1 = %d / %g", a, b,exp(1 * log(a))); b=pow(a,2); printf("\n%d^2 = %d / %g", a, b,exp(2 * log(a))); b=pow(a,3); printf("\n%d^3 = %d / %g", a, b,exp(3 * log(a))); } getch(); } Ultima modifica di Darkslide : 20-06-2005 alle 17:31. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 156
|
dichiara b come double.
pow restituisce un double se b è un int viene troncato. |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Oct 2003
Messaggi: 49
|
Quote:
quindi è solo una perdita di precisione? |
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 156
|
si
|
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Oct 2003
Messaggi: 49
|
Quote:
quando imparerò a dare un occhio ai prototipi di funzione prima di gridare al bug scusate x il tread inutile e pienamente risolvibile senza ricorrere al forum....
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:06.



















