mi sono imbattuto in questo codice, in cui stanno cercando di convertire da float a intChe tipo di conversione sta facendo questo codice?
int val[5];
union {
int i;
float f;
} conv;
...
val is updated with some value
...
case OUT_FORMAT_FLOAT:
for (i = 0; i < count; i++) {
conv.f = val[i];
val[i] = conv.i;
}
ma sono solo in grado di capire come questo dovrebbe funzionare. Lo val[i]
è assegnato a conv.f
e quindi viene utilizzato il valore conv.i
per memorizzare il valore in val[i]
. conv
è un tipo di unione dal momento che stiamo usando f
, i
non avrà un valore valido giusto?
mi manca qualcosa qui?
consultare http://www.cplusplus.com/doc/tutorial/other_data_types/#unions – hdost