浮點數轉十六進制
- 實現:
float f = 123.45f;
unsigned char *hex = (unsigned char *)&f;
- 打印輸出:
for(int i = 0; i < 4; i++)
printf("0x%02X ", hex[i]);
printf("\n");
十六進制轉浮點數
- 實現:
unsigned char hex[] = { 0x66, 0xE6, 0xF6, 0x42 };
float f = *(float *)hex;
- 打印輸出:
printf("%g\n", f);
// %g參數按浮點精度四捨五入去除多餘的0