Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con valores de variables

Estas en el tema de Problema con valores de variables en el foro de C/C++ en Foros del Web. Hola a todos, Tengo un programa cuya mision es leer datos de un archivo que emula un sistema de archivos ext2. Para ello me pasan ...
  #1 (permalink)  
Antiguo 20/11/2009, 15:06
kronos_
Invitado
 
Mensajes: n/a
Puntos:
Problema con valores de variables

Hola a todos,

Tengo un programa cuya mision es leer datos de un archivo que emula un sistema de archivos ext2. Para ello me pasan dos archivos ext2.c y ext2.h, donde en el ultimo hay definido un struct como el siguiente:

struct ext2_sb {
uint32_t s_inodes_count;
uint32_t s_blocks_count;
...
uint32_t s_blocks_per_group;
...
};

Leo del archivo con read (fd, &a, sizeof(a));

Esto no da ninguna problema ya que los valores de la variables del struct son coherentes (me los muestra por pantalla). En mi caso:

blocks_count=10240
blocks_per_group=8192


El problema esta cuando calculo f=a.s_blocks_count/a.s_blocks_per_group.

Esto deberia dar un valor superior a 1 e inferior a 2, pero me da 1 exactamente.

He probado mostrando por pantalla los valores de las variables:

printf("Variable 1: %d",a.s_blocks_count);
printf("Variable 2: %d",aa.s_blocks_per_group);


Y resulta que me dice que valen 1 las dos!

¿Alguien sabe porque me pasa esto tan raro?


Muchas gracias por la ayuda
  #2 (permalink)  
Antiguo 22/11/2009, 04:06
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Problema con valores de variables

Código:
float f = (float)blocks_count / (float)blocks_per_group;
printf("%f", f);
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:01.