Duchamp
21-10-2010, 18:09
Salve a tutti,
come da oggetto ho la necessità di trasformare un valore intero in float, convertendolo all'interno di un range che va da -1.0 a 1.0 (penso che un'operazione di questo tipo si chiami normalizzazione, non vorrei però spararla grossa :fagiano:).
Vi sottopongo la mia versione certamente ingenua, nella speranza che qualcuno possa fornirmi soluzioni più ottimali.
int main() {
int int_val[8];
float f_val[8];
int_val[0] = 0;
int_val[1] = 3000;
int_val[2] = -3400;
int_val[3] = 9000;
int_val[4] = -9000;
int_val[5] = 12340;
int_val[6] = -9030;
int_val[7] = 2304;
for (int i=0; i<8; i++) {
if (int_val[i] > 0)
f_val[i] = int_val[i]/32767.0;
else
f_val[i] = -int_val[i]/32768.0;
}
}
Ringrazio e saluto!
come da oggetto ho la necessità di trasformare un valore intero in float, convertendolo all'interno di un range che va da -1.0 a 1.0 (penso che un'operazione di questo tipo si chiami normalizzazione, non vorrei però spararla grossa :fagiano:).
Vi sottopongo la mia versione certamente ingenua, nella speranza che qualcuno possa fornirmi soluzioni più ottimali.
int main() {
int int_val[8];
float f_val[8];
int_val[0] = 0;
int_val[1] = 3000;
int_val[2] = -3400;
int_val[3] = 9000;
int_val[4] = -9000;
int_val[5] = 12340;
int_val[6] = -9030;
int_val[7] = 2304;
for (int i=0; i<8; i++) {
if (int_val[i] > 0)
f_val[i] = int_val[i]/32767.0;
else
f_val[i] = -int_val[i]/32768.0;
}
}
Ringrazio e saluto!