#include #include float hex2float(char *hex); void float2hex(float f, char *buff); int main() { printf("%f\n", hex2float("3f800000")); char hex[9]; float2hex(1.0, hex); printf("%s\n", hex); } float hex2float(char *hex) { uint64_t i; sscanf(hex, "%lx", &i); return *(float *)&i; } void float2hex(float f, char *buff) { for(uint8_t i = 0; i < 4; i++) sprintf(buff + 2*i , "%02hhx", *((uint8_t *)&f + 3-i)); }