Si segnala un bug nel parsing delle espressioni binarie per il quale, facendo riferimento all'esempio di seguito, ci si aspetta che l'operatore di divisione (/) abbia priorità maggiore e che quindi venga eseguito prima il cast di 15 a double (diviene 15.0), poi il cast implicito da 6 a 6.0 ed infine la divisione fra double (quindi media = 2.50). Invece, come si può notare dalla conversione dello stesso codice in Java, viene svolta prima l'operazione di divisione tra interi e poi solo in seguito viene eseguito il cast a double del valore di ritorno intero ottenuto in precedenza.
Istruzioni in Java--
int somma=15;
int numero=6;
//double media=(double)somma/numero;
System.out.println(media);
Istruzione in Java
int somma = 15;
int numero = 6;
double media = ((double) (somma / numero));
System.out.println(media);
Si segnala un bug nel parsing delle espressioni binarie per il quale, facendo riferimento all'esempio di seguito, ci si aspetta che l'operatore di divisione (/) abbia priorità maggiore e che quindi venga eseguito prima il cast di 15 a double (diviene 15.0), poi il cast implicito da 6 a 6.0 ed infine la divisione fra double (quindi media = 2.50). Invece, come si può notare dalla conversione dello stesso codice in Java, viene svolta prima l'operazione di divisione tra interi e poi solo in seguito viene eseguito il cast a double del valore di ritorno intero ottenuto in precedenza.
Istruzioni in Java--
int somma=15; int numero=6; //double media=(double)somma/numero;
System.out.println(media);
Istruzione in Java
int somma = 15; int numero = 6; double media = ((double) (somma / numero)); System.out.println(media);