gcc - 双精度浮点数如何存储在内存中?
问题描述
我想知道双精度数字是如何在内存中组织的。
假设我想将 16.55 (0xd40308cccccccccc) 写入 2 路交错 32 位内存模块,以下哪一项是正确的组织?
内存 0 0xD40308CC
内存 1 0xCCCCCCCC
或者
内存 0 0xCCCCCCCC
内存 1 0xD40308CC
RISCV-GCC 似乎产生了后者,但我想阅读更多关于此的信息,非常感谢任何建议!
-编辑:格式化
解决方案
RISC-V 是 little-endian(默认情况下),右边的位存储在较早的内存地址。您可以在https://content.riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf
中找到此信息。
推荐阅读
- c++ - 将 Boost 路径向量项传递给 Crypto++ FileSource 函数
- html - 在标签旁边放置输入
- javascript - 更改移动设备上的触摸事件行为
- json - 使用 jq 将 JSON 对象转换为 Prometheus 指标格式
- php - 更改 Vtiger 字段的显示名称
- database - 使用 DBMS_DATAPUMP 导出 Oracle 模式不会导出 ctx_ddl 首选项,也不会创建 ctxsys.context 索引类型
- angular - formarray 角度简单示例
- pandas - 如果在 180 个工作日内相互标记元素
- php - 数据包乱序
- javascript - 黑白匿名异步函数使用和异步函数使用有什么区别