Imprimir float en hexadecimal

Iniciado por ricardo2013, 11 Octubre 2012, 20:01 PM

0 Miembros y 1 Visitante están viendo este tema.

ricardo2013

¿Por qué no me funciona esto para imprimir un float en dígitos hexadecimales?



#include <stdio.h>

int main()
{
    float f = 5.5;
    printf("%X\n", f);
    return 0;
}



Debería de salir (códificación IEEE 754): 80 B0 00 00
y da: DAC98408

Gracias anticipadas

avesudra

#1
Porque no estás usando el especificador de formato correcto:
Specifier                    Output                                            Example
a            Hexadecimal floating point, lowercase                -0xc.90fep-2
A            Hexadecimal floating point, uppercase               -0XC.90FEP-2
x            Unsigned hexadecimal integer                           7fa
X            Unsigned hexadecimal integer (uppercase)         7FA

Fuente : http://www.cplusplus.com/reference/clibrary/cstdio/printf/
Regístrate en