c++ - 提取尾数的二进制值
问题描述
我有点问题。给定:一些实数(例如 -474.875) 任务:提取尾数的 BINARY 值 对于数字 -474.875 我需要这个值 1, 11011010111 * 2^8 我有一个程序:
const float d = -474.875f;
int exponent;
const float mantissa = frexp(d, &exponent);
double prev = mantissa * pow(2, exponent);
它计算十进制尾数(我的数字是-0.927490234)和指数(9)。我试图将此尾数转换为二进制......但失败了......我得到了其他价值。要获得原始值:尾数* 2^exponent。问题:如何获得尾数的二进制值?也许有可能以更漂亮的方式做到这一点?
解决方案
推荐阅读
- gitlab - Omnibus Gitlab SSH 连接问题
- sql - 在 SSRS 中使用我希望成为日期/时间变量的参数设置数据驱动订阅
- node.js - Socket.io 和 Express 与 nginx
- apache-spark - 为什么 BigDecimal 的 Spark groupBy.agg(min/max) 总是返回 0?
- sql - 左外连接到表的前 1 行
- java - GSON 自动将 JSON 数组解包为 Java 对象
- package - 如何区分哪些软件包是“官方”或标准 Racket 发行版的一部分?
- java - Eclipse直接调试到接口方法
- python - Conda 命令不适用于当前环境,Python 版本
- python - 如何设置数据库.loc 函数设置许多值熊猫?