Originariamente inviato da andbin
1 è una costante intera, 2 è una costante intera. Ne deriva che la divisione è "intera", non floating-point.

Se fosse stato ad esempio:

double r = 1.0/2;
o
double r = (double) 1/2;

Allora nel caso sopra 1.0 è una costante double mentre nel caso sotto il 1 intero viene convertito a double prima della divisione.

L'altro operando (il 2 intero) sarebbe stato convertito automaticamente a double e la divisione sarebbe stata fatta in floating-point, dando come risultato 0.5.

Rivedi le Conversions and Promotions in particolare la "Binary Numeric Promotion", perché sono fondamentali.
Perfetto grazie mille ^^