目录

定点的介绍

定点的优势

定点数的乘法和加法

乘法

加法


定点的介绍

在之前的博客中介绍了定点数和浮点数,想要了解的可以前往以下链接:

【定点和浮点】定点数与浮点数的解释

定点的优势

使用定点表示有什么优势?为什么不简单地将所有值规范化为整数范围并处理整数。将所有值规范化为整数,这会产生非常不可读的代码和文档。在观察某些代码时,定点通常更加方便。例如,如果我正在查看源代码,如下代码所示:

c0 = fixbv(0.0032, min=-1, max=1, res=2**-15)
c1 = fixbv(-0.012, min=-1, max=1, res=2**-15)

可以很容易地将其与滤波器的系数联系起来,但是如果只看到整数:

c0 = intbv(0x0069, min=-2**15, max=2**15)
c1 = intbv(-0x0189, min=-2**15, max=2**15)

需要在看其他信息。仅整数很难理解这些值要表示的内容。

除了表示优势之外,用于处理舍入和溢出的情况时,在定点数据中也很常见。

定点数的乘法和加法

定点数的乘法操作和普通的十进制数相乘可以用很类似的方法——列式子计算;同理定点数的加法也是类似。

乘法

在计算定点数的乘法时,只要将数值转换成二进制,可以暂时先忽略小数点的存在,因为之前说过,定点数之所以叫定点数,就是因为它的小数点位置是固定的,因此,可以先做计算再定小数点的位置。

下面是一个示例,以两个数分别为 6.5625(一共8位,其中3位整数部分,4位小数部分)和 4.25 (一共8位,其中5位整数部分,2位小数部分)两个数的相乘。

0110.1001  == 6.5625
000100.01  == 4.2501101001  x 00010001  ------------0110100100000000 00000000  00000000  01101001    00000000      0000000000000000 --------------------x000011011111001   ==  0000011011.111001  ==  27.890625
 

乘积结果所需的位数是两个数值的位数之和。通常,乘法和加法的结果要调整大小并减少位数。在定点中,这具有直观的意义,因为较小的小数位被丢弃,并且值根据丢弃的位四舍五入。这样可以减少数据的位宽,以达到减少位宽的作用。

加法

加法稍微复杂一些,因为在做加法之前需要对齐小数点。使用与乘法例子中相同的数值:

0110.1001  == 6.5625
000100.01  == 4.250110.1001  + 000100.01  -------------001010.1101  ==  10.8125

【定点数运算】定点的乘法和加法相关推荐

  1. 7-2一元多项式的乘法与加法运算

    title: "7-2一元多项式的乘法与加法运算(20" date: 2018-06-14T01:09:46+08:00 tags: [""] categori ...

  2. PTA:编程题:7-1 一元多项式的乘法与加法运算 (20 分)

    大一下半期数据结构 数据结构题目集 一元多项式的乘法与加法运算 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项 ...

  3. 7-2 一元多项式的乘法与加法运算 (20 分)

    7-2 一元多项式的乘法与加法运算 (20 分) 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝 ...

  4. 浙大数据结构题集02-线性结构2 一元多项式的乘法与加法运算python版

    浙大数据结构题集02-线性结构2 一元多项式的乘法与加法运算python版 设计函数分别求两个一元多项式的乘积与和. 本文用链表做的 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数 ...

  5. 2.2 多项式乘法与加法运算(线性结构,C)

    多项式乘法与加法运算 设计函数分别求两个一元多项式的乘积与和 题意理解 题意理解 和 积 求解思路 多项式表示 两种表示方式 在事先已经知道具体多少项的时候,本题较好的实现方法:==动态数组== 链表 ...

  6. PTA->一元多项式的乘法与加法运算

    一元多项式的乘法与加法运算 1.问题描述 2.问题分析 2.1定义多项式数据结构结点数据PolyNode 2.2将数据结点连接到多项式后面Attach 2.3读入多项式数据结点ReadPoly 2.4 ...

  7. 习题3.6 一元多项式的乘法与加法运算 (20 分)(有测试点具体数据)c语言链表版本

    习题3.6 一元多项式的乘法与加法运算 (20 分) 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数 ...

  8. 2 计算机组成原理第二章 数据的表示和运算 定点数运算 浮点数运算

    文章目录 1 进制转换 2 定点数表示及其运算 2.1 定点数表示 2.1.1 真值→补码 2.1.2 补码→真值 2.1.3 [XT]补 →[-XT]补 2.1.4 真值.原码.反码.补码转换关系图 ...

  9. Verilog学习笔记——有符号数的乘法和加法

    有符号数的计算在 Verilog 中是一个很重要的问题(也很容易会被忽视),在使用 Verilog 语言编写 FIR 滤波器时,需要涉及到有符号数的加法和乘法,在之前的程序中我把所有的输入输出和中间信 ...

最新文章

  1. python3+selenium入门08-鼠标事件
  2. StrongOD快捷键说明及其例子
  3. 特征值与特征向量的意义
  4. Nginx 学习笔记(四) Nginx+keepalived
  5. 移动开发框架,第【一】弹:QuoJs 官方文档(汉化版)
  6. WCF消息之XmlDictionaryWriter
  7. git-从入门到熟悉
  8. 饿了么分布式KV架构与实践
  9. PCWorld:谷歌成下一个微软式企业10大理由
  10. 实时系统性能测试指标及方法
  11. 解决-win10软件默认安装路径为C盘——修改注册表
  12. Mac系统安装consul
  13. 虚拟服务器架设教程,架设服务器虚拟主机教程
  14. 如何确定今天是星期几
  15. Android 超级轻量的版本更新库AppUpdate
  16. c语言利用查表法画正弦波,嵌入式C语言查表法在项目中的应用
  17. 【Linux分组权限】linux下创建用户分组及设置分组权限
  18. CSDN BLOG技术专家群工作平台发布公告
  19. VSCode C++环境配置及测试运行
  20. 基于腾讯云实时音视频(TRTC)的web端 多人人脸识别小游戏

热门文章

  1. 了解Gazebo的bumper插件
  2. 入侵网站的各种漏洞的利用
  3. gprs模块与主站通信
  4. linux下常用的软件
  5. python 仿真 电力系统自动化_电力系统自动化技术的应用及发展方向
  6. otc焊接机器人编程模拟软件_OTC焊接机器人精密焊接的编程技巧
  7. 基于显扬科技3D视觉相机的芯片外观检测系统
  8. php pusher,php,pusher_Linux 下php使用 Pusher 遇到一个难题,php,pusher,php-linux-环境-开发 - phpStudy...
  9. 方形图片 圆形图片 各种形状
  10. 生活中有什么值得坚持的好习惯?