返回顶部
首页 > 资讯 > 前端开发 > JavaScript >小数的表示方法之怎么使用定点数
  • 412
分享到

小数的表示方法之怎么使用定点数

2024-04-02 19:04:59 412人浏览 泡泡鱼
摘要

本篇内容主要讲解“小数的表示方法之怎么使用定点数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小数的表示方法之怎么使用定点数”吧!在数字信号处理中往往都需要进行

本篇内容主要讲解“小数的表示方法之怎么使用定点数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小数的表示方法之怎么使用定点数”吧!

在数字信号处理中往往都需要进行大量的数字运算,比如,数字信号的解调,需要采集大量的IQ数据对其进行解调运算。在实际的研究和学习中我们一般会在操作系统中利用丰富的软件给我们提供的便捷的计算工具进行计算(Matlab、python等),这可以很方便的处理我们所研究的数字信号。然而,学过计算机原理或者汇编语言的同学会清楚,数据的运算的最终是在计算机硬件上来完成的,我们在操作系统层面的数据运算往往意味着需要进行大量的资源的调度。

虽然现在的计算机的性能已经非常的强大,但是对于面向应用的产品来说,其处理器性能往往和计算机不能相提并论。

通常,在通信、图像等数字信号处理中,会采用硬件芯片的方式进行数据运算(DSP、FPGA等),通过这种硬件芯片上进行数字信号运算,可以很好的提高运算效率,这也在工程应用中广为采用的一种方式。

在这些处理器中往往各种数据都是通过整数形式存储(比如,通信中的IQ数值的存储)。实际上,我们需要进行运算的数据大多都是小数,那么,该怎么解决呢?一般的我们可以通过定点数这种方式来表示小数。

什么是定点数

定点数英文名叫Fixed Point  Number,其关键地方就在定和点这两个字上面,即在表示小数数据时,把小数点的位置已经约定好固定在某个位置。与之对应的是浮点数,其小数点的位置不是固定的,关于浮点数先不做展开。

小数的表示方法之怎么使用定点数

定数表示

在定点数中,小数点可以将数据分为整数和小数部分,因此我们可以约定小数点在数据中的不同位置,就可以表示不同大小和精度的小数。例如,当小数点位置约定在符号位和数值位之间,就表示纯小数;当小数点约定在最末尾位置时,就可以表示纯整数。

小数的表示方法之怎么使用定点数

纯小数

小数的表示方法之怎么使用定点数

纯整数

如何描述定点数的这种规则呢?其实,我们可以使用两种方法来表示:

  • Q来表示法Qx,x表示小数的位数。

  • S表示法Sx.y,x表示整数位数,y表示小数位数。

我们知道在计算机中根据是否存在符号位可以分成无符号整数和有符号整数,当然,对于定点数也可以根据有无符号位分为:

  • 无符号定点数:无符号位

  • 有符号定点数:有符号位

无符号定点数

无符号定点数,数值在机器中字长的全部二进制位中没有符号位,全都是数值位。例如,小数1.2转换成16位的定数,小数点的位置约定在第14位和第15位之间。

小数的表示方法之怎么使用定点数

无符号Q14

根据计算结果,小数1.2可以用Q14格式的无符号定点数19661表示。

无符号定点数比较简单,不存在负小数;但是,有符号定点数就没这么简单了,因为存在正负数,其计算方法也不尽相同。

原码、反码、补码

原码、反码、补码在大多数的计算机编程相关的书籍里基本上都会提到。在学习有符号定点数之前,我们需要先复习一下原码、反码和补码。因为数据在计算中的存储方式是以补码的形式存储的,在学习有符号定点数之前,所以,我们有必要先复习这部分内容。

  • 原码:最高位作为符号位(无符号则没有符号位),其他位是数据二进制真值绝对值。例如,无符号数5,其8位二进制数的原码为0000  0101;有符号数5,其8位二进制的原码为0000 0101;有符号数-5,其8位二进制的原码1000 0101。

  • 反码:正数的反码是其原码本身,负数的反码在其原码的基础上符号位不变,其他位取反。例如,无符号数5,其8位二进制数的反码为0000  0101;有符号数5,其8位二进制数的反码为0000 0101;而有符号数-5,其8位二进制的反码为1111 1010。

  • 补码:正数的补码就是其本身,负数的补码是在其反码基础上加1。例如,无符号数5,其8位二进制数的补码为0000  0101;有符号数5,其8位二进制数的补码为0000 0101;而有符号数-5,其8位二进制的补码为1111 1011。

对于正数来说,

原码 = 反码 = 补码

对于负数来说,

反码 = 符号位不变,原码取反 补码 = 反码 + 1

有符号定点数

有符号定点数,需要专门取一位数据位作为符号位,通常,符号位上的1表示负数,0表示正数,其余位为数值位。例如,将小数0.8和-0.8转成Q15格式的定点数。

小数的表示方法之怎么使用定点数

有符号Q15

求正数0.8的定点数:

求负数-0.8的定点数:

小数的表示方法之怎么使用定点数

在有符号定点数中,需要要注意负数的计算与正数有所不同。

到此,相信大家对“小数的表示方法之怎么使用定点数”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 小数的表示方法之怎么使用定点数

本文链接: https://lsjlt.com/news/83457.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 小数的表示方法之怎么使用定点数
    本篇内容主要讲解“小数的表示方法之怎么使用定点数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小数的表示方法之怎么使用定点数”吧!在数字信号处理中往往都需要进行...
    99+
    2024-04-02
  • oracle中整数补足两位小数点怎么表示
    oracle 中整数补足两位小数点表示法有两种方法:科学计数法(如 100 * 10^-2 = 0.01)和 to_char 函数(如 to_char(100, 'fm9999...
    99+
    2024-05-03
    oracle
  • 十进制浮点数的表示方法
    使用十进制浮点数,可以避免二进制浮点数与我们习惯的十进制数之间的表示误差.这个在金融领域是非常重要的.但是计算机基本都只能对二进制浮点数进行计算,也就是IEEE754格式表示的浮点数.很多程序都会自己模拟十进制浮点数的计算.为了统一,IEE...
    99+
    2023-06-03
  • oracle中整数补足两位小数点怎么表示出来的
    有四种方法可以在 oracle 中将整数补足两位小数点:使用 to_char() 函数、使用 lpad() 和 substr() 函数、使用 to_numb...
    99+
    2024-05-07
    oracle
  • sql中小数怎么表示
    在 sql 中,小数通常使用 decimal 或 numeric 数据类型表示。decimal 用于表示固定精度和小数位数的小数,而 numeric 允许可变精度和小数位数。选择合适的类...
    99+
    2024-04-28
  • c语言中取小数点后两位数字怎么表示
    在 c 语言中,可以通过如下步骤取得浮点数小数点后两位数字:将浮点数乘以 100,使其小数部分变为整数。使用 / 运算符将浮点数除以 100,取整部分。使用 % 运算符让浮点数对 100...
    99+
    2024-04-28
    c语言
  • Python怎么强制限定小数点位数
    小编给大家分享一下Python怎么强制限定小数点位数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!利用''%.af''%b——其中...
    99+
    2023-06-14
  • matplotlib之Pyplot模块绘制三维散点图使用颜色表示数值大小
    目录一、摘要二、代码三、部分代码解释1. colormap(颜色)映射设置。2. 设置三维散点格式3. 设置侧边colorbar四、参考总结一、摘要 在进行数据可视化时,对于一元函数...
    99+
    2024-04-02
  • python保留小数点位数的方法
    本文将为大家详细介绍“python保留小数点位数的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python保留小数点位数的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去...
    99+
    2023-06-06
  • vue使用directive限制表单输入整数、小数的方法
    一个方法限制表单输入整数,小数,推荐使用第二种 限制小数时可以输入整数 1.第一种方法: const limitPositive = Vue.directive('limitPosi...
    99+
    2023-05-14
    vue限制表单输入整数 vue限制表单输入小数 vue限制表单输入
  • 使用EditText怎么限制小数点前后的位数
    今天就跟大家聊聊有关使用EditText怎么限制小数点前后的位数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在EditText输入数字的时候,通常我们需要限制小数点前后位数。比如金...
    99+
    2023-05-31
    edittext edi
  • python整数的表示方法
    小编给大家分享一下python整数的表示方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python整数的表示方法:1、可以使用字符串str的is digit方...
    99+
    2023-06-07
  • java数组方法怎么定义和使用
    定义一个数组方法的语法如下:```public static [] ( [] ) {// 方法体}```其中,`data_typ...
    99+
    2023-06-10
    java数组 java
  • c++中除号有小数怎么表示
    在 c++ 中,除法运算符通常产生整数结果。要获得小数结果,有三种方法:1. 使用浮点类型操作数;2. 使用显式类型转换将整数操作数转换为浮点类型;3. 使用 std::fixed 操纵...
    99+
    2024-05-06
    c++
  • javaString.split无法使用小数点分割的问题
    目录String.split 无法使用小数点分割解决方法String.split()方法的注意点(转义符)1.字符串中存在.和|的时候2.如果在一个字符串中有多个分隔符String....
    99+
    2024-04-02
  • c语言中小数用什么表示
    c 语言使用浮点数类型表示小数,可通过十进制小数点形式或科学计数法指定小数位数,其中 f/f 表示单精度,d/d 表示双精度,建议用双精度进行高精度运算,注意浮点数精度有限,比较浮点数时...
    99+
    2024-05-02
    c语言
  • c++中除法怎么带小数点
    在 c++ 中实现浮点除法有两种方法:使用浮点运算符 (/) 或使用 float() 或 double() 函数。要控制小数点位数,可以使用 std::fixed 和 std::setp...
    99+
    2024-05-01
    c++
  • SQL之patindex函数的使用方法是什么
    在SQL中,PATINDEX函数用于查找一个字符串在另一个字符串中第一次出现的位置。它的语法如下: PATINDEX(pattern...
    99+
    2024-04-09
    SQL
  • 使用Vue3进行数据绑定及显示列表数据
    目录一、与 Vue2 对比1、 Vue3 新特性2、 Vue2、Vue3 响应原理对比3、重写数组的方法,检测数组变更4、直观感受二、使用Vue3进行数据绑定示例1、使用ref实现数...
    99+
    2024-04-02
  • struts2之使用EL表达式,显示Action中的数据
    在Struts2中,可以使用EL表达式(Expression Language)来显示Action中的数据。首先,在JSP页面中导入...
    99+
    2023-09-28
    struts2
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作