今天遇到一个问题,需要将两个int类型合成一个double类型,网上搜了半天未果,找到一个资深C语言朋友问了一下解决了。
记录一下,代码如下:
#include <stdio.h>
typedef union {
int date[2];
double value;
} Data;
void main()
{
int input_1 = 0x64617461;
int input_2 = 0x2F455500;
Data data;
data.date[0] = input_2;
data.date[1] = input_1;
printf("%e", data.value);
putchar('\n');
}
放到Linux机器上运行,结果如下: