Non vorrei essere polemico, ma la situazione lo richiede...
zio_mangrovia ha esordito con:
Devo per forza esprimere il 3, il 5 o il 2 con un decimale per aver il risultato della differenza come double?
domanda non proprio chiarissima, ma si capisce che si riferisce ai fini del risultato e non al tipo in sé.
migliorabile replica con
1) si
risposta in generale non sbagliata, ma quantomeno equivoca dal momento che il risultato cambia.
oregon con
Questi non sono dubbi da forum ... basta un.libro ....
dimostra di dare più importanza alla forma che al contenuto, poiché non prende minimamente in considerazione la suddetta questione.
Io cerco di chiarire la questione con il seguente post:
In realtà se vuoi avere come risultato 0.2 devi convertire o il 3 o il 5 in double, altrimenti la divisione tra 3 e 5 viene calcolata come divisione intera.
migliorabile replica con
@Nippolo: per le regole del C++, basta che UNO degli elementi dell'espressione sia in double per convertite tutta l'espressione in double.
In questo caso anche soltanto il "1"
ancora una volta una risposta di per sé non proprio sbagliata, ma in replica al mio post mi fa pensare che egli sia convinto che a prescindere dall'elemento convertito in double, il risultato non cambia (cosa ovviamente errata). In ogni caso starà alla sua onestà intellettuale stabilire quale sia la verità.
zio_mangrovia dopo essersi sfogato posta
avevo provato a modificare 1 in 1.0 ma ottengo come risultato un numero intero.
Solo se cambio i membri della / * ottengo un reale.
dimostrando che la superficiale risposta di migliorabile non ha fatto altro che alimentare altri dubbi.
migliorabile con il successivo post ignora completamente la questione "pratica" e attacca con la solita paternale piena di luoghi comuni.
Con il mio successivo post tento di chiarire la questione pratica sollevata, con il risultato di venire completamente ignorato dai diretti interessati (zio_mangrovia e migliorabile).
IfNotFalseTrue ha scritto:
È normale, la divisione viene eseguita prima della somma e quindi viene eseguita tra interi se uno dei due operandi non è un double
Se leggi i miei precedenti post ti accorgerai che non sono io quello a cui farlo notare!
Morale della storia: