Il casting di una variabile si esaurisce all'interno dell'operazione?

Buongiorno a tutti, sono Stefano di artigianato robotico, ero già iscritto al forum ma non sono riuscito a recuperare l'account e ne ho dovuto creare uno nuovo.

Il mio quesito riguarda il casting di una variabile all'interno di una operazione, avrei bisogno di capire se la modifica del tipo resta anche al di fuori dell'operazione stessa.
Esempio:
float a = 24,55;
int b = (int)a*100;
da questo momento a è un int che vale 24 o al di fuori dell'operazione resta un float che vale 24,55?
Grazie per l'aiuto.

Buongiorno, purtroppo, come a tutti debbo cortesemente chiederti, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il succitato REGOLAMENTO (che, negli anni, ha subito varie modifiche ed aggiunte) ... Grazie. :slight_smile:

Guglielmo

Certamente, ho fatto.
Grazie


Per rispondere alla tua domanda il casting si applica solo allo statement in corso, anzi, alla sola espressione singola, se usi più operatori e più volte la stessa variabile puoi fare anche differenti casting

Esempio interessante:

#define partedecimale(a) (a-(int)a)

Grazie mille, l'esempio è molto simile a quello che devo fare e mi permette di pulire il codice che prima usava alcune variabili locali di "appoggio".