01: // conversioni esplicite
02: #include<stdio.h>
03: #include<stdlib.h>
04: 
05: int main(int argc, char **argv){
06: 
07:   int a = 42, b = 17;
08:   float ris;
09:   
10:   ris = (a/b);                  // a e b entrambi int -> nessuna conversione implicita, quindi divisione intera
11:   printf("42/17 = %f\n", ris);  // stampo 2.000000
12: 
13:   ris = (float)(a/b);           // come sopra ma dopo (e solo dopo) converto il risultato in float. Inutile, il calcolo lo avevo gia' fatto 
14:   printf("42/17 = %f\n", ris);  // stampo 2.000000  
15: 
16:   ris = a/(float)b;             // prima di usarlo converto il valore di b in float. Automaticamente anche il valore di a e' convertito in float
17:   printf("42/17 = %f\n", ris);  // stampo 2.47058
18: 
19:   ris = (float)a/(float)b;      // in questo caso converto entrambi i valori. A rigore non necessario.
20:   printf("42/17 = %f\n", ris);  // stampo 2.47058
21: 
22: 
23:   return 0;
24: }
25: 
26: /*
27:    OUTPUT
28: 
29:    42/17 = 2.000000
30:    42/17 = 2.000000
31:    42/17 = 2.470588
32:    42/17 = 2.470588
33: 
34:  */
35: 
36: 
37: 


Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it