Título: fread me muestra algunos hexadecimales de forma incorrecta Publicado por: otroWeyMas.nasm en 2 Febrero 2022, 05:47 am Hola
Dos preguntas, cuando intento sacar los hexadecimales de un binario, utilizando fopen y fseek, me aparecen unos de forma extraña, por ejemplo: 0xaf 0x3c 0xffffffa9 0x4c.... 0xbc 0xaf 0xffffff4c...etc. ¿A que se debe esto? Citar 0xffffffa9 .... 0xffffff4c ¿hay alguna forma de evitarlo? en el printf utilizo, "%02x", pero no entiendo porque me aparecen algunos hexadecimales de esa forma, incluso uso antes memset para dejar el buffer de fread en '\0', pensando que podría algo interferir, pero no, sigue haciendo lo mismo. También lo verifique con un editor de hexadecimal y si me aparecen los hexadecimales correctos, pero a diferencia del editor, a mi me salen de la forma rara que explique arriba. Espero me puedan explicar. Saludos. Título: Re: fread me muestra algunos hexadecimales de forma incorrecta Publicado por: Eternal Idol en 2 Febrero 2022, 09:55 am Me imagino que estas usando char como tipo de dato, x trabaja con int y seguramente te este pasando esto:
https://en.wikipedia.org/wiki/Sign_extension Ejemplo crudo: Código
https://www.felixcloutier.com/x86/movsx:movsxd Código
https://www.felixcloutier.com/x86/movzx https://www.cplusplus.com/reference/cstdio/printf/ Título: Re: fread me muestra algunos hexadecimales de forma incorrecta Publicado por: otroWeyMas.nasm en 2 Febrero 2022, 18:37 pm Vale, tienes razón, ya lo arreglé.
Gracias por los links. ;D Título: Re: fread me muestra algunos hexadecimales de forma incorrecta Publicado por: Eternal Idol en 2 Febrero 2022, 19:31 pm De nadas ::)
|