c++ - 如何将字节从 uint64_t 转换为 double?
问题描述
我有从中读取uint64_t
val 的二进制文件(使用 little-endian)。现在我想将其转换uint64_t
为double
(不仅仅是强制转换,而是double
我从文件中输入的数字)。所以应该有相同的位表示。我应该怎么做?
解决方案
简单的便携方式:
uint64_t u64 = read_from_file();
double d;
memcpy(&d, &u64, sizeof(d));
大多数编译器只会为此生成几条指令。
推荐阅读
- go - 无法将 websocket 数据从颤振应用程序发送到服务器
- c# - 如何让 Swagger 将模型模式枚举生成为字符串而不是 int?
- node.js - Babel 解析器没有为 sytax 错误显示正确的文件名
- java - 在 JAVA 上与 TelegramBOT 进行对话
- r - 仅选择列名与其他 df 中的行中的值匹配的列
- azure - 如何在 Azure Devops Visual Studio 测试任务的生成输出文件夹中执行我的 Visual Test 项目
- r - R - Purrr - 将功能应用于列表中的小标题
- html - 下拉菜单隐藏在我的英雄 img 后面
- mysql - OctoberCMS Builder MySQL 整数列的默认值无效
- firebase - 如何在颤振中使用枚举?