参考: https://www.cnblogs.com/wdfrog/p/5391613.html
#include <stdio.h> #include <string.h> typedef unsigned char byte; void print_hex(const char *string) { unsigned char *p = (unsigned char *) string; for (int i=0; i < strlen(string); ++i) { if (! (i % 16) && i) printf(" "); printf("0x%02x ", p[i]); } printf(" "); } void float2Bytes(byte bytes_temp[4],float float_variable){ union { float a; byte bytes[4]; } thing; thing.a = float_variable; memcpy(bytes_temp, thing.bytes, 4); } int main() { //char a[10] ="abcdefghi"; //printf("%p ", a); //printf("%p ", a+1); //printf("%p ", a+5); //printf("0x%02x ", a); //print_hex(a); //printf("%015X ", 0xa3); float b = 1234.3; byte a[4]; float2Bytes(a, b); printf("%x ", a[0]); printf("%x ", a[1]); printf("%x ", a[2]); printf("%x ", a[3]); //printf("a=%x ", b); //printf("a=%x ", a[0]); //printf("a=%4d ", b); //printf("a=%2d ", b); }