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

Responder a