当前位置: 首页 > web >正文

定点小数 不需要指数部分 不采用移码

定点小数不采用移码的本质原因是它不需要指数部分,因此也就无需对指数进行编码(如移码)。下面通过一个具体例子来说明原因和区别。


🔧【背景知识:移码】

移码是一种对**有符号整数(如指数)**的编码方式,常用于浮点数的指数部分,用来避免负数,便于比较大小。
比如 8 位移码表示,偏移量是 2 7 − 1 = 127 2^{7} - 1 = 127 271=127,即

  • 真数 − 3 -3 3 → 移码 124 124 124 (即 − 3 + 127 = 124 -3 + 127 = 124 3+127=124
  • 真数 0 0 0 → 移码 127 127 127
  • 真数 + 3 +3 +3 → 移码 130 130 130

🎯【定点小数 VS 浮点数的例子】

我们以表示数值 -1.75 为例,对比定点数和浮点数的处理方式:


✅ 定点小数的表示方式(假设 Q3.4 格式)

Q3.4 是一种常见的定点格式,表示:

  • 3 位整数部分(含符号位),4 位小数部分
  • 总共 8 位(或任意固定长度)

步骤

  • 将 -1.75 表示为二进制:

    • 1 的二进制是 0001
    • 0.75 的二进制是 1100(因为 0.75 = 0.5 + 0.25 = 2 − 1 + 2 − 2 0.75 = 0.5 + 0.25 = 2^{-1} + 2^{-2} 0.75=0.5+0.25=21+22
  • 所以 -1.75 的二进制是 1.1100(注意小数点)

  • Q3.4 中没有显式小数点,小数点固定在第4位。用补码表达 -1.75:

    • +1.75 是 00011100
    • -1.75(补码)是 11100100

👉 最终表示: 11100100

❌ 为什么不需要移码?

  • 小数点是固定的,不用记录或编码其位置。
  • 没有“指数”,自然就不需要对指数进行移码。
  • 用补码直接处理加减乘除即可。

🧮 浮点数的表示方式(IEEE 754 单精度为例)

IEEE 754 单精度浮点表示包含:

  • 1 位符号位
  • 8 位移码指数(偏移 127)
  • 23 位尾数(有效位)

-1.75 的浮点表示

  • 二进制为:-1.75 = -1.11
  • 规格化形式为:-1.11 × 2^0
  • 指数部分为 0 + 127 = 127 0 + 127 = 127 0+127=127,移码表示为 01111111
  • 尾数为去掉隐含的 1 后的 .11,补到 23 位为:11000000...

👉 需要用移码来编码指数部分的正负


🧠【总结:定点小数不采用移码的原因】

原因说明
❌ 没有指数部分定点数的小数点是固定的,不需移动小数点,因此不需表示指数
❌ 无需编码正负指数不存在正负指数,自然也就不需要移码去处理指数的正负问题
✅ 运算逻辑简单加减乘除均可直接进行,无需像浮点数那样处理规格化和对阶
✅ 适合资源受限系统实现简单,特别适用于嵌入式系统、DSP等场景

如果你需要,我也可以提供一段代码模拟定点小数的计算过程,进一步说明它为何不使用移码。

http://www.xdnf.cn/news/9909.html

相关文章:

  • ASP.NET TreeView控件使用指南
  • Java复习Day22
  • 前端使用qrcode来生成二维码的时候中间添加logo图标
  • Orcad 修复Pin Name重复问题
  • React 第五十节 Router 中useNavigationType的使用详细介绍
  • 【题解-洛谷】B4278 [蓝桥杯青少年组国赛 2023] 简单算术题
  • 飞牛NAS+Docker技术搭建个人博客站:公网远程部署实战指南
  • 【HTML-15】HTML表单:构建交互式网页的基石
  • 零基础开始的网工之路第十六天------Linux日志管理
  • VueScan Pro v9.8.45.08 一款图像扫描软件,中文绿色便携版
  • JSON Schema
  • javaweb 前言
  • ArcPy错误处理与调试技巧
  • 抖音、快手无水印福音开源下载器之蓝猫 BlueCatKoKo
  • MMdetection推理保存图片和预测标签脚本
  • 前端的面试笔记——Vue2/3(一)Vue2和Vue3的区别和优缺点
  • 【ROS2】创建单独的launch包
  • 进程同步机制-信号量机制-AND型信号量
  • 特别篇-产品经理(三)
  • 数学概念解释数据集(200条)收集分享,为AI智能体应用助力~
  • 【Dv3Admin】工具CRUD混合器文件解析
  • 【SQL Server Management Studio 连接时遇到的一个错误】
  • 纵览网丨病毒学领域的 AI 变局:机遇、隐忧与监管之路
  • 5.28 孔老师 nlp讲座
  • 罗德里格斯公式动图演示
  • [ Qt ] | QPushButton常见用法
  • Allegro 版本查看和降版本
  • DeepSeek:不同模式(v3、R1)如何选择?
  • 三层架构 vs SOA vs 微服务:该选谁?
  • 华为云Flexus+DeepSeek征文 | 初探华为云ModelArts Studio:部署DeepSeek-V3/R1商用服务的详细步骤