首页 > 解决方案 > 如何将字节从 uint64_t 转换为 double?

问题描述

我有从中读取uint64_tval 的二进制文件(使用 little-endian)。现在我想将其转换uint64_tdouble(不仅仅是强制转换,而是double我从文件中输入的数字)。所以应该有相同的位表示。我应该怎么做?

标签: c++bitconverters

解决方案


简单的便携方式:

uint64_t u64 = read_from_file();
double d;
memcpy(&d, &u64, sizeof(d));

大多数编译器只会为此生成几条指令。


推荐阅读