On 4/27/07, Sebastián Santisi <[EMAIL PROTECTED]> wrote:
personaje wrote:
> estoy leyendo imágenes de disco y guardándo los datos en memoria, como
> las imágenes pueden venir en cualquier tipo (uint8, uint16, uint32,
> float32, float64) las cargo en un array float y las uso así, pero cuando
> quiero salvar, las tengo que mandar al tipo de dato original, por eso
> tengo casteos de ida y vuelta...
Si no entendí mal... ¿estás incondicionalmente, poniendo cosas que
son
uints8/16/32 y floats en un array de floats porque asumís que float es
el tipo más grande?
En ese caso, ojo, que podés estar mandándote cagadas muy grosas;
para
ejemplificarlo de manera boluda:
float f;
for(f = 23000000; f < 23000005; f++)
printf("Itero\n");
¿Cuántas veces itera ese código?
Moraleja:
int x;
x != (int)((float) x).
Saludos;
es verdad lo que decís, pero lo que yo hago es sólo leer y almacenar , no
modifico los datos, el ejemplo sería algo así :
---
// leyendo uint8
float array[100];
for (int i=0;i<100;i++)
{
unsigned char temp;
std::cin>>temp;
array[i] = (float)temp;
}
// escribiendo uint8
for (int i=0;i<100;i++)
{
unsigned char temp;
temp = (unsigned char)array[i];
std::cout<<temp;
}
---
Sepan disculpar lo burdo, pero la idea es esa, leo uint8 y lo guardo
casteado a float, luego, en otra porción de código, casteo el float a uint8
y lo salvo...
Si bien no estoy seguro, /confío/ que al no modificar el float, la vuelta
atrás se hace bien.
Si estoy pifiando feo acá avisen : )
--
v3sw6Chw5ln6pr7Ock3ma8u9Lw3Xm5l7Gi2Ce6t6Gb8Ten4g6OPa28s5Mr1p8
hackerkey.com
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion