以下内容有效吗?我知道字节顺序,这是Windows环境。如果我定义Int32Double myVar
;如果myVar.int32.low
是一个计算值,myVar.d
会总是一样吗?
例如:myVar.d = 0.4 * log(4); printf("%08X\n", myVar.int32.low);
union Int32Double
{
struct
{
int low;
int high;
} int32;
double d;
};
最佳答案
不,这是写入d
和从int32
读取的未定义行为。
关于c++ - union 中的int数据类型(低,高)结构表示的 double 数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13351808/