Leer de la memoria RAM
Publicado por eltelegramon (21 intervenciones) el 02/02/2017 03:54:35
En un programa que estoy haciendo, tengo que manejar el valor de una variable double, byte a byte. Para eso he hecho el siguiente programa:
Para los valores de d1 siguientes, el resultado es el siguiente;
d1 = 0 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 /
d1 = 1 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 240 / 63 /
d1 = 2 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 0 / 64 /
d1 = 3 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 8 / 64 /
d1 = 4 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 16 / 64 /
d1 = 5 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 20 / 64 /
d1 = 6 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 24 / 64 /
d1 = 7 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 28 / 64 /
d1 = 8 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 32 / 64 /
d1 = 9 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 34 / 64 /
d1 = 10 --------- 0 / 0 / 0 / 0 / 0 / 0 / 36 / 64 /
¿Que orden lógico sigue esto?
¿El programa que he hecho es correcto?
¿Como puedo saber el formato de escritura en la memoria RAM de las variables double?
1
2
3
4
5
6
7
8
9
10
double d1 = 10;
unsigned char charval[sizeof(d1)];
unsigned int int2;
memcpy(charval, &d1, sizeof(d1));
for (int a1=0;a1<sizeof(d1);a1++){
int2 = charval[a1];
out1 << int2 << " / "; // El out1 es un stream que escribe en el disco duro.
}
d1 = 0 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 /
d1 = 1 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 240 / 63 /
d1 = 2 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 0 / 64 /
d1 = 3 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 8 / 64 /
d1 = 4 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 16 / 64 /
d1 = 5 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 20 / 64 /
d1 = 6 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 24 / 64 /
d1 = 7 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 28 / 64 /
d1 = 8 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 32 / 64 /
d1 = 9 ---------- 0 / 0 / 0 / 0 / 0 / 0 / 34 / 64 /
d1 = 10 --------- 0 / 0 / 0 / 0 / 0 / 0 / 36 / 64 /
¿Que orden lógico sigue esto?
¿El programa que he hecho es correcto?
¿Como puedo saber el formato de escritura en la memoria RAM de las variables double?
Valora esta pregunta


0