Como estas leyendo esos datos del fichero? dependiendo de como lo hagas la manera de transformar ese dato cambia.
Lo que siempre es igual es si tienes 4 bytes:
a[0] = 0000 0000 -> 0 0 -> 0
a[1] = 0000 0010 -> 0 2 -> 2
a[2] = 0110 0110 -> 6 6 -> 102
a[3] = 1011 1001 -> B 9 -> 185
el numero resultante es 00 02 66 B9 (lo pongo en hex porque es mas comodo) o lo que es lo mismo:
(a[0]*256*256*256)+(a[1]*256*256)+(a[2]*256)+a[3]
Código C:
Ver originalint main (void)
{
unsigned int tam;
char a[4];
int i;
a[0]=0; a[1]=2; a[2]=102; a[3]=185;
tam= 0;
for (i=0; i<4; i++)
tam= (tam << 8) + a[i];
printf ("Tam file: [%d]\n", tam
); return 0;
}
Aunque se podria leer directamente del fichero binario:
tam debe poder almacenar 4 bytes (habitualmente un
int)