CN113805844A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents

一种数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113805844A
CN113805844A CN202111073266.5A CN202111073266A CN113805844A CN 113805844 A CN113805844 A CN 113805844A CN 202111073266 A CN202111073266 A CN 202111073266A CN 113805844 A CN113805844 A CN 113805844A
Authority
CN
China
Prior art keywords
target
point type
type data
data
floating point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111073266.5A
Other languages
English (en)
Other versions
CN113805844B (zh
Inventor
李晓明
郑波浪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shengzhe Science & Technology Co ltd
Original Assignee
Beijing Shengzhe Science & Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Shengzhe Science & Technology Co ltd filed Critical Beijing Shengzhe Science & Technology Co ltd
Priority to CN202111073266.5A priority Critical patent/CN113805844B/zh
Publication of CN113805844A publication Critical patent/CN113805844A/zh
Application granted granted Critical
Publication of CN113805844B publication Critical patent/CN113805844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例公开了一种数据处理方法、装置、电子设备及存储介质。数据处理方法,包括:确定浮点类型数据的第一目标待转换数值和目标数据位宽;根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;根据所述定点类型数据进行数据处理操作。本发明实施例的技术方案能够降低定点数值的位宽,从而提高数据处理的利用率和效率。

Description

一种数据处理方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
浮点数值由于其能够以相对较少的位来表示大范围的值而被广泛应用,因此现有的通信技术领域往往涉及浮点数值的处理。但是由于硬件资源受限等原因,需要把浮点数值转换成等效的定点数值。示例性的,在通信算法的应用场景中,通信算法往往涉及浮点数值的计算,单精度浮点数的位宽为32比特,双精度浮点数的位宽为64比特,它们的位宽都很大,而且涉及的加、减、乘、除基础运算需要由单独的浮点运算单元支撑。为了减少功耗和提升运行速度,通信算法通常由FPGA或SoC芯片作为物理实现平台,而FPGA和Soc芯片由逻辑门电路组成,只能支持定点数值计算,因此通信算法在浮点数值的方案开发完毕后,会进一步做定点量化操作,得到最终能够在FPGA和Soc芯片平台运行的定点数值的方案。
然而,现有常用的定点量化方法是标明数值的符号性、总位宽和小数位宽,并且为了简便实现,总是要求总位宽数值要大于小数位宽数值。所以在数值很大或者数值很小的时候,数值定点量化需要的总位宽很大,从而降低了数据处理的利用率和效率。
发明内容
本发明实施例提供一种数据处理方法、装置、电子设备及存储介质,能够降低定点数值的位宽,从而提高数据处理的利用率和效率。
第一方面,本发明实施例提供了一种数据处理方法,包括:
确定浮点类型数据的第一目标待转换数值和目标数据位宽;
根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;
根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;
根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;
根据所述定点类型数据进行数据处理操作。
第二方面,本发明实施例还提供了一种数据处理装置,包括:
浮点类型数据确定模块,用于确定浮点类型数据的第一目标待转换数值和目标数据位宽;
转换量纲计算模块,用于根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;
转换数值计算模块,用于根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;
定点类型数据确定模块,用于根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;
数据处理操作模块,用于根据所述定点类型数据进行数据处理操作。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的数据处理方法。
第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的数据处理方法。
本发明实施例通过确定浮点类型数据的第一目标待转换数值和目标数据位宽,并根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲,以根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值,从而根据目标转换量纲和目标转换数值确定浮点类型数据匹配的定点类型数据,进而根据定点类型数据进行数据处理操作,解决现有的浮点类型数据转换定点类型数据的方法得到的定点类型数据因位宽较大导致的数据处理的利用率和效率较低等问题,能够降低定点数值的位宽,从而提高数据处理的利用率和效率。
附图说明
图1是本发明实施例一提供的一种数据处理方法的流程图;
图2是本发明实施例二提供的一种数据处理方法的流程图;
图3是本发明实施例三提供的一种数据处理装置的示意图;
图4是本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例的说明书和权利要求书及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
现有的标明数值的符号性、总位宽和小数位宽的定点量化方法具体包括:
一个N比特位宽的二进制有符号数原码S(N,b)可以表示为:
S(N,b)=szN-2zN-3…z1z0=sxN-b-2xN-b-3…x1x0.x-1x-2…x-b
其中,s表示符号位,s为0表示该有符号数为正数,s为1表示该有符号数为负数;zN表示第N-1比特位;xN表示第N-b-1比特位的0或1的二进制数码;b表示小数位个数;则整数位个数a=N-b-1。
那么该有符号数原码S(N,b)实际表示的浮点数值为
Figure BDA0003261224760000051
其中,表示精度为
Figure BDA0003261224760000052
表示范围为
Figure BDA0003261224760000053
同理,一个N比特位宽的二进制无符号数原码U(N,b)可以表示为:
U(N,b)=zN-1zN-2zN-3…z1z0=xN-b-1xN-b-2xN-b-3…x1x0.x-1x-2…x-b
其中,整数位个数a=N-b,小数位个数为b。
例如,浮点数值D=5120经现有的定点量化方法转换得到的定点量化格式为U(13,0)=1010000000000,转换后的定点数值需要13比特总位宽,其中最右侧有10比特的0只表示数值的量纲。浮点数值D=0.01953125经现有的定点量化方法转换得到的定点量化格式为U(9,8)=0.00000101,转换后的定点数值需要9比特总位宽,其中最左侧有6比特的0只表示数值的量纲。由此可见,现有的定点量化方法转换得到的定点量化格式需要的总位宽很大,造成了极大的资源浪费。
实施例一
图1是本发明实施例一提供的一种数据处理方法的流程图,本实施例可适用于将浮点类型数据转换为位宽较小的定点类型数据以进行数据处理的情况,该方法可以由数据处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在执行本方法的电子设备中。如图1所示,数据处理方法具体可以包括以下步骤:
S110、确定浮点类型数据的第一目标待转换数值和目标数据位宽。
其中,浮点类型数据可以是任意的浮点型数据,例如可以是有符号的浮点型数据、无符号的浮点型数据、单精度浮点型数据或双精度浮点型数据等,本发明实施例对此并不进行限制。第一目标待转化数值可以是浮点类型数据的一个待转化数值,可以用于将浮点类型数据转换为定点类型数据。数据位宽可以是浮点类型数据的二进制数所占的比特位数。目标数据位宽可以是浮点类型数据转换为定点类型数据的总位宽要求,可以表征将浮点类型数据转换为定点类型数据的精度。可以理解的是,目标数据位宽的数值越大,表明浮点类型数据转换为定点类型数据的精度越高。示例性的,如果目标数据位宽为4,则要求转换后的定点类型数据的二进制数占四个比特位。
在本发明实施例中,在获取浮点类型数据之后,可以进一步确定浮点类型数据的第一目标待转换数值和目标数据位宽,以根据第一目标待转换数据和目标数据位宽计算浮点类型的目标转换量纲。示例性的,如果浮点类型数据为有符号的浮点型数据,则第一目标待转换数值可以是将符号位抽离之后的无符号数值。如果浮点类型数据为无符号的浮点型数据,则第一目标待转换数值可以是该无符号的数值。如果转换后的定点类型数据要求的总位宽为N,则有符号的浮点型数据的目标数据位宽为N-1,无符号的浮点型数据的目标数据位宽为N。
S120、根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲。
其中,目标转换量纲可以是二进制表示数值中无效数(如0)的比特位的目标数量。
在本发明实施例中,在确定浮点类型数据的第一目标待转换数值和目标数据位宽之后,可以进一步根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲,以避免由于位宽过大导致的资源浪费。
示例性的,如果浮点类型数据为5120,则通过现有的浮点类型数据转换为定点类型数据的方法确定的二进制定点类型数据为1010000000000,该二进制定点类型数据的最右侧有10比特的0只表示数值的量纲,造成极大的资源浪费。然而在本发明实施例中,可以将无效数的比特位数量确定为该浮点类型数据的目标转换量纲,也即该浮点类型数据的目标转换量纲为10。
S130、根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值。
其中,目标转换数值可以是浮点类型数据转换为定点类型数据的数值部分。
在本发明实施例中,在根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲之后,可以进一步根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值。
示例性的,如果浮点类型数据为5120,则通过现有的浮点类型数据转换为定点类型数据的方法确定的二进制定点类型数据为1010000000000。在本发明实施例中,如果确定浮点类型数据的目标转换量纲10,则该浮点类型数据的目标转换数值为101。
S140、根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据。
在本发明实施例中,在根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值之后,可以进一步根据目标转换量纲和目标转换数值确定浮点类型数据匹配的基于量纲的定点量化数据,以对基于量纲的定点量化数据进行数据处理操作。示例性的,如果浮点类型数据的目标转换量纲为10,且目标转换数值为101,则浮点类型数据的转换的定点类型数据可以是[101,10]。
S150、根据所述定点类型数据进行数据处理操作。
其中,数据处理操作可以是对数据进行任意类型的处理操作,例如可以是对数据进行存储处理操作,也可以是对数据进行计算处理操作等,本发明实施例对此并不进行限制。
在本发明实施例中,在根据目标转换量纲和目标转换数值确定浮点类型数据匹配的定点类型数据之后,可以进一步根据定点类型数据进行数据处理操作,从而能够在对数据进行存储处理时减小存储空间,提高数据存储的利用率,而且能够在对数据进行计算处理时提高计算性能和计算效率。
本实施例的技术方案,通过确定浮点类型数据的第一目标待转换数值和目标数据位宽,并根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲,以根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值,从而根据目标转换量纲和目标转换数值确定浮点类型数据匹配的定点类型数据,进而根据定点类型数据进行数据处理操作,解决现有的浮点类型数据转换定点类型数据的方法得到的定点类型数据因位宽较大导致的数据处理的利用率和效率较低等问题,能够降低定点数值的位宽,从而提高数据处理的利用率和效率。
实施例二
图2是本发明实施例二提供的一种数据处理方法的流程图,本实施例是对上述各技术方案的进一步细化,给出了确定浮点类型数据的第一目标待转换数值和目标数据位宽,根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲,根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值,以及根据目标转换量纲和目标转换数值确定浮点类型数据匹配的定点类型数据的多种具体可选的实现方式。本实施例中的技术方案可以与上述一个或多个实施例中的各个可选方案结合。如图2所示,该方法可以包括如下步骤:
S210、确定所述浮点类型数据的符号位类型。
其中,符号位类型可以是浮点类型数据的符号类型。
在本发明实施例中,确定浮点类型数据的符号位类型,可以是根据浮点类型数据的类型进行确定,以根据符号位类型确定第一目标待转换数值和目标数据位宽。示例性的,如果浮点类型数据的符号类型为有符号的浮点类型数据,则符号位类型为有符号位。如果浮点类型数据的符号类型为无符号的浮点类型数据,则符号位类型为无符号位。
S220、根据所述符号位类型确定所述第一目标待转换数值和所述目标数据位宽。
在本发明实施例中,在确定浮点类型数据的符号位类型之后,可以进一步根据符号位类型确定第一目标待转换数值和目标数据位宽。
可选的,根据符号位类型确定第一目标待转换数值和目标数据位宽,可以包括:在确定符号位类型为第一符号位类型的情况下,删除浮点类型数据的符号位,得到第一目标待转换数值;将浮点类型数据的数据位宽与浮点类型数据的符号位的差值确定为目标数据位宽;或,在确定符号位类型为第二符号位类型的情况下,将浮点类型数据确定为第一目标待转换数值;将浮点类型数据的数据位宽确定为目标数据位宽。
其中,第一符号位类型可以是符号位的一个类型,例如可以是有符号位。第二符号位类型可以是符号位的另一个类型,例如可以是无符号位。
具体的,如果浮点类型数据的符号位类型是第一符号位类型,表明浮点类型数据为有符号位的浮点类型数据。可以理解的是,符号位仅表示数值正负符号特性,对数值的大小没有影响。因此,当确定浮点类型数据的符号位类型是第一符号位类型时,可以删除该符号位,并将删除符号位后的浮点类型数据确定为第一目标待转换数值,将浮点类型数据的数据位宽与浮点类型数据的符号位的差值确定为目标数据位宽。可以理解的是,浮点类型数据的符号位占1个比特位。如果浮点类型数据的符号位类型是第二符号位类型,则直接将浮点类型数据确定为第一目标待转换数值,并将浮点类型数据的数据位宽确定为目标数据位宽。示例性的,如果浮点类型数据为D=-0.01953125,且浮点类型数据的数据位宽为N=4,则第一目标待转换位置为D'=0.01953125,目标数据位宽为N'=3。如果浮点类型数据为D=5120,且浮点类型数据的数据位宽为N=3,则第一目标待转换位置为D'=5120,目标数据位宽为N'=3。
S230、根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲。
可选的,根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲,可以包括:基于如下公式计算浮点类型数据的目标转换量纲:
Q=floor(log2(D'))+1-N'
其中,Q表示目标转换量纲,floor(·)表示向下取整,D'表示第一目标待转换数值,N'表示目标数据位宽。
具体的,在确定第一目标待转换数值和目标数据位宽之后,可以进一步根据上述公式计算浮点类型数据的目标转换量纲。示例性的,如果第一目标待转换数值为D'=5120,且要求转换后的定点类型数据的目标数据位宽为N'=3,则浮点类型数据的目标转换量纲为Q=floor(log2(5120))+1-3=10。在另一个示例中,如果第一目标待转换数值为D'=0.01953125,且要求转换后的定点类型数据的目标数据位宽为N'=3,则浮点类型数据的目标转换量纲为Q=floor(log2(0.01953125))+1-3=-8。
S240、根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值。
可选的,根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值,可以包括:
基于如下公式计算浮点类型数据的目标转换数值:
U(N')=dec2bin(floor(D'/2Q))
其中,U(N')表示目标转换数值,dec2bin(·)表示将十进制数转换成二进制数。
具体的,在根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲之后,可以进一步根据上述公式计算浮点类型数据的目标转换数值。
示例性的,如果浮点类型数据D=5120的第一目标待转换数值为D'=5120,目标数据位宽为N'=3,且目标转换量纲为Q=10,则浮点类型数据的目标转换数值为U(3)=dec2bin(floor(5120/210))=101。在另一个示例中,如果浮点类型数据D=-0.01953125的第一目标待转换数值为D'=0.01953125,目标数据位宽为N'=3,且目标转换量纲为Q=-8,则浮点类型数据的目标转换数值为U(3)=dec2bin(floor(0.01953125/2-8))=101。
S250、在确定所述浮点类型数据的符号位类型为第一符号位类型的情况下,将所述浮点类型数据的符号位添加至所述目标转换数值的符号位置处,得到第一符号位类型的目标转换数值。
在本发明实施例中,在根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值之后,可以进一步确定浮点类型数据的符号位类型是否为第一符号位类型。如果浮点类型数据的符号位类型是第一符号位类型,则将浮点类型数据的符号位添加至目标转换数值的符号位置处,以得到第一符号位类型的目标转换数值。可以理解的是,目标转换数值的符号位置处为目标转换数值的最高位。浮点类型数据的符号位为1表示该浮点类型数据为负数,浮点类型数据的符号位为0表示该浮点类型数据为正数。示例性的,如果浮点类型数据D=-0.01953125的目标转换数值为U(3)=101,则第一符号位类型的目标转换数值为S(4)=1101。
S260、将所述第一符号位类型的目标转换数值和所述目标转换量纲构建的集合确定为所述定点类型数据。
在本发明实施例中,在得到第一符号位类型的目标转换数值之后,可以进一步将第一符号位类型的目标转换数值和目标转换量纲构建的集合确定为定点类型数据。示例性的,如果浮点类型数据D=-0.01953125的目标转换量纲为Q=-8,且第一符号位类型的目标转换数值为S(4)=1101,则定点类型数据为[S(4),Q]=[1101,-8]。
S270、在确定所述浮点类型数据的符号位类型为第二符号位类型的情况下,将所述目标转换数值和所述目标转换量纲构建的集合确定为所述定点类型数据。
在本发明实施例中,在根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值之后,可以进一步确定浮点类型数据的符号位类型是否为第二符号位类型。如果浮点类型数据的符号位类型是第二符号位类型,则可以将目标转换数值和目标转换量纲构建的集合确定为定点类型数据。示例性的,如果浮点类型数据D=5120的目标转换量纲为Q=10,且目标转换数值为U(3)=101,则定点类型数据为[U(3),Q]=[101,10]。
综上所述,本发明实施例对浮点类型数据转换得到的定点类型数据主要涉及三方面:符号性、表示精度和表示范围;其中,符号性指的是数值正负符号特性,有符号数的最高位是符号位;表示精度指的是转换后的定点类型数据能表示的非负的最小数据的大小,与定点表示中的小数位个数直接相关,所有定点数值都是其表示精度的整数倍数;表示范围指的是转换后的定点类型数据能表示的最大数值和最小数值所组成的数值区间,如果被表示的浮点数值超过了转换后的定点类型数据的表示范围,浮点数值的大小转换后会因为溢出而被截断。符号性、表示精度和表示范围共同决定了转换后的定点类型数据的二进制比特位数,也即目标数据位宽。
上述技术方案,通过将浮点类型的数据转换为目标数据位宽的定点类型的数据,在保证表示精度和表示范围的情况下,将浮点类型的十进制数表示为总位宽最小的二进制定点类型数据,从而能够在对数据进行存储处理时减小存储空间,提高数据存储的利用率,而且能够在对数据进行计算处理时提高计算性能和计算效率。
S280、根据所述定点类型数据进行数据处理操作。
在本发明实施例的一个可选实施方式中,数据处理方法还可以包括:确定定点类型数据的第二目标待转换数值和数据量纲;根据第二目标待转换数值和数据量纲确定定点类型数据匹配的浮点类型数据;根据浮点类型数据进行数据处理操作。
其中,第二目标待转换数值可以是定点类型数据的一个待转化数值。数据量纲可以是定点类型数据中二进制表示数值中无效数(如0)的比特位的值。
具体的,确定定点类型数据的第二目标待转换数值和数据量纲,以根据第二目标待转换数值和数据量纲确定定点类型数据匹配的浮点类型数据,从而根据浮点类型数据进行数据处理操作,进而能够保证在数据计算操作中的计算精度。
可选的,确定定点类型数据的第二目标待转换数值,可以包括:基于如下公式确定定点类型数据的第二目标待转换数值:
Figure BDA0003261224760000141
或,基于如下公式确定定点类型数据的第二目标待转换数值:
Figure BDA0003261224760000142
其中,D”表示第二目标待转换数值,N和N'表示定点类型数据的数据位宽,zn表示二进制比特位。
具体的,如果定点类型数据为有符号类型的定点数据,则可以进一步根据上述公式(1)确定第二目标待转换数值。如果定点类型数据为无符号类型的定点数据,则可以进一步根据上述公式(2)确定第二目标待转换数值。示例性的,如果定点类型数据为[S(4),Q]=[1101,-8],则第二目标待转换数值为
Figure BDA0003261224760000143
如果定点类型数据为[U(3),Q]=[101,10],则第二目标待转换数值为
Figure BDA0003261224760000144
可选的,根据第二目标待转换数值和数据量纲确定定点类型数据匹配的浮点类型数据,可以包括:基于如下公式确定定点类型数据匹配的浮点类型数据:
Figure BDA0003261224760000151
其中,D表示浮点类型数据,Q0表示数据量纲。
具体的,在确定定点类型数据的第二目标待转换数值和数据量纲之后,可以进一步根据上述公式确定定点类型数据匹配的浮点类型数据。示例性的,如果定点类型数据为[S(4),Q]=[1101,-8],且第二目标待转换数值为D”=-5,则定点类型数据匹配的浮点类型数据为D=(-5)*2-8=-0.01953125。如果定点类型数据为[U(3),Q]=[101,10],且第二目标待转换数值为D”=5,则定点类型数据匹配的浮点类型数据为D=5*210=5120。
本实施例的技术方案,通过确定浮点类型数据的符号位类型,并根据符号位类型确定第一目标待转换数值和目标数据位宽,以根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲,从而根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值,如果浮点类型数据的符号位类型为第一符号位类型,则将浮点类型数据的符号位添加至目标转换数值的符号位置处,得到第一符号位类型的目标转换数值,将第一符号位类型的目标转换数值和目标转换量纲构建的集合确定为定点类型数据;如果浮点类型数据的符号位类型为第二符号位类型,则将目标转换数值和目标转换量纲构建的集合确定为定点类型数据;从而根据定点类型数据进行数据处理操作,解决现有的浮点类型数据转换定点类型数据的方法得到的定点类型数据因位宽较大导致的数据处理的利用率和效率较低等问题,能够降低定点数值的位宽,从而提高数据处理的利用率和效率。
实施例三
图3是本发明实施例三提供的一种数据处理装置的示意图,如图3所示,所述装置包括:浮点类型数据确定模块310、转换量纲计算模块320、转换数值计算模块330、定点类型数据确定模块340以及数据处理操作模块350,其中:
浮点类型数据确定模块310,用于确定浮点类型数据的第一目标待转换数值和目标数据位宽;
转换量纲计算模块320,用于根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;
转换数值计算模块330,用于根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;
定点类型数据确定模块340,用于根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;
数据处理操作模块350,用于根据所述定点类型数据进行数据处理操作。
本实施例的技术方案,通过确定浮点类型数据的第一目标待转换数值和目标数据位宽,并根据第一目标待转换数值和目标数据位宽计算浮点类型数据的目标转换量纲,以根据第一目标待转换数值和目标转换量纲计算浮点类型数据的目标转换数值,从而根据目标转换量纲和目标转换数值确定浮点类型数据匹配的定点类型数据,进而根据定点类型数据进行数据处理操作,解决现有的浮点类型数据转换定点类型数据的方法得到的定点类型数据的位宽较大和精度较低,造成的数据处理的利用率差和效率低等问题,能够降低定点数值的位宽以及提高定点数值的精度,从而提高数据处理的利用率和效率。
可选的,浮点类型数据确定模块310,可以具体用于:确定浮点类型数据的符号位类型;根据符号位类型确定第一目标待转换数值和目标数据位宽。
可选的,浮点类型数据确定模块310,可以具体用于:在确定符号位类型为第一符号位类型的情况下,删除浮点类型数据的符号位,得到第一目标待转换数值;将浮点类型数据的数据位宽与浮点类型数据的符号位的差值确定为目标数据位宽;或,在确定符号位类型为第二符号位类型的情况下,将浮点类型数据确定为第一目标待转换数值;将浮点类型数据的数据位宽确定为目标数据位宽。
可选的,转换量纲计算模块320,可以具体用于:基于如下公式计算浮点类型数据的目标转换量纲:
Q=floor(log2(D'))+1-N'
其中,Q表示目标转换量纲,floor(·)表示向下取整,D'表示第一目标待转换数值,N'表示目标数据位宽。
可选的,转换数值计算模块330,可以具体用于:基于如下公式计算浮点类型数据的目标转换数值:
U(N')=dec2bin(floor(D'/2Q))
其中,U(N')表示目标转换数值,dec2bin(·)表示将十进制数转换成二进制数。
可选的,定点类型数据确定模块340,可以具体用于:在确定浮点类型数据的符号位类型为第一符号位类型的情况下,将浮点类型数据的符号位添加至目标转换数值的符号位置处,得到第一符号位类型的目标转换数值;将第一符号位类型的目标转换数值和目标转换量纲构建的集合确定为定点类型数据;在确定浮点类型数据的符号位类型为第二符号位类型的情况下,将目标转换数值和目标转换量纲构建的集合确定为定点类型数据。
可选的,数据处理装置还可以包括:
定点类型数据参数确定模块,用于确定定点类型数据的第二目标待转换数值和数据量纲;
浮点类型数据匹配模块,根据第二目标待转换数值和数据量纲确定定点类型数据匹配的浮点类型数据;
浮点类型数据处理模块,用于根据浮点类型数据进行数据处理操作。
可选的,定点类型数据参数确定模块,可以具体用于:基于如下公式确定定点类型数据的第二目标待转换数值:
Figure BDA0003261224760000181
或,基于如下公式确定定点类型数据的第二目标待转换数值:
Figure BDA0003261224760000182
其中,D”表示第二目标待转换数值,N和N'表示定点类型数据的数据位宽,zn表示二进制比特位。
可选的,浮点类型数据匹配模块,可以具体用于:基于如下公式确定定点类型数据匹配的浮点类型数据:
Figure BDA0003261224760000183
其中,D表示浮点类型数据,Q0表示数据量纲。
上述数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的数据处理方法。
由于上述所介绍的数据处理装置为可以执行本发明实施例中的数据处理方法的装置,故而基于本发明实施例中所介绍的数据处理方法,本领域所属技术人员能够了解本实施例的数据处理装置的具体实施方式以及其各种变化形式,所以在此对于该数据处理装置如何实现本发明实施例中的数据处理方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中数据处理方法所采用的装置,都属于本申请所欲保护的范围。
实施例四
图4是本发明实施例四提供的一种电子设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图4显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图4中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,实现本发明实施例所提供的数据处理方法:确定浮点类型数据的第一目标待转换数值和目标数据位宽;根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;根据所述定点类型数据进行数据处理操作。
实施例五
本发明实施例五还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的数据处理方法:确定浮点类型数据的第一目标待转换数值和目标数据位宽;根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;根据所述定点类型数据进行数据处理操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable Read OnlyMemory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种数据处理方法,其特征在于,包括:
确定浮点类型数据的第一目标待转换数值和目标数据位宽;
根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;
根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;
根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;
根据所述定点类型数据进行数据处理操作。
2.根据权利要求1所述的方法,其特征在于,所述确定浮点类型数据的第一目标待转换数值和目标数据位宽,包括:
确定所述浮点类型数据的符号位类型;
根据所述符号位类型确定所述第一目标待转换数值和所述目标数据位宽。
3.根据权利要求2所述的方法,其特征在于,所述根据所述符号位类型确定所述第一目标待转换数值和所述目标数据位宽,包括:
在确定所述符号位类型为第一符号位类型的情况下,删除所述浮点类型数据的符号位,得到所述第一目标待转换数值;
将所述浮点类型数据的数据位宽与所述浮点类型数据的符号位的差值确定为所述目标数据位宽;或
在确定所述符号位类型为第二符号位类型的情况下,将所述浮点类型数据确定为所述第一目标待转换数值;
将所述浮点类型数据的数据位宽确定为所述目标数据位宽。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲,包括:
基于如下公式计算所述浮点类型数据的目标转换量纲:
Q=floor(log2(D'))+1-N'
其中,Q表示所述目标转换量纲,floor(·)表示向下取整,D'表示所述第一目标待转换数值,N'表示所述目标数据位宽。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值,包括:
基于如下公式计算所述浮点类型数据的目标转换数值:
U(N')=dec2bin(floor(D'/2Q))
其中,U(N')表示所述目标转换数值,dec2bin(·)表示将十进制数转换成二进制数。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据,包括:
在确定所述浮点类型数据的符号位类型为第一符号位类型的情况下,将所述浮点类型数据的符号位添加至所述目标转换数值的符号位置处,得到第一符号位类型的目标转换数值;
将所述第一符号位类型的目标转换数值和所述目标转换量纲构建的集合确定为所述定点类型数据;
在确定所述浮点类型数据的符号位类型为第二符号位类型的情况下,将所述目标转换数值和所述目标转换量纲构建的集合确定为所述定点类型数据。
7.根据权利要求1所述的方法,其特征在于,还包括:
确定定点类型数据的第二目标待转换数值和数据量纲;
根据所述第二目标待转换数值和所述数据量纲确定所述定点类型数据匹配的浮点类型数据;
根据所述浮点类型数据进行数据处理操作。
8.根据权利要求7所述的方法,其特征在于,所述确定定点类型数据的第二目标待转换数值,包括:
基于如下公式确定所述定点类型数据的第二目标待转换数值:
Figure FDA0003261224750000031
或,基于如下公式确定所述定点类型数据的第二目标待转换数值:
Figure FDA0003261224750000032
其中,D”表示所述第二目标待转换数值,N和N'表示所述定点类型数据的数据位宽,zn表示二进制比特位。
9.根据权利要求7所述的方法,其特征在于,所述根据所述第二目标待转换数值和所述数据量纲确定所述定点类型数据匹配的浮点类型数据,包括:
基于如下公式确定所述定点类型数据匹配的浮点类型数据:
Figure FDA0003261224750000033
其中,D表示所述浮点类型数据,Q0表示所述数据量纲。
10.一种数据处理装置,其特征在于,包括:
浮点类型数据确定模块,用于确定浮点类型数据的第一目标待转换数值和目标数据位宽;
转换量纲计算模块,用于根据所述第一目标待转换数值和所述目标数据位宽计算所述浮点类型数据的目标转换量纲;
转换数值计算模块,用于根据所述第一目标待转换数值和所述目标转换量纲计算所述浮点类型数据的目标转换数值;
定点类型数据确定模块,用于根据所述目标转换量纲和所述目标转换数值确定所述浮点类型数据匹配的定点类型数据;
数据处理操作模块,用于根据所述定点类型数据进行数据处理操作。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的数据处理方法。
12.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-9中任一所述的数据处理方法。
CN202111073266.5A 2021-09-14 2021-09-14 一种数据处理方法、装置、电子设备及存储介质 Active CN113805844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111073266.5A CN113805844B (zh) 2021-09-14 2021-09-14 一种数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111073266.5A CN113805844B (zh) 2021-09-14 2021-09-14 一种数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113805844A true CN113805844A (zh) 2021-12-17
CN113805844B CN113805844B (zh) 2024-04-09

Family

ID=78895294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111073266.5A Active CN113805844B (zh) 2021-09-14 2021-09-14 一种数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113805844B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877020B1 (en) * 2001-12-31 2005-04-05 Apple Computer, Inc. Method and apparatus for matrix transposition
CN106990937A (zh) * 2016-01-20 2017-07-28 南京艾溪信息科技有限公司 一种浮点数处理装置
CN107077322A (zh) * 2014-11-03 2017-08-18 Arm 有限公司 用于执行转换运算的装置和方法
US10387122B1 (en) * 2018-05-04 2019-08-20 Olsen Ip Reserve, Llc Residue number matrix multiplier

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877020B1 (en) * 2001-12-31 2005-04-05 Apple Computer, Inc. Method and apparatus for matrix transposition
CN107077322A (zh) * 2014-11-03 2017-08-18 Arm 有限公司 用于执行转换运算的装置和方法
CN106990937A (zh) * 2016-01-20 2017-07-28 南京艾溪信息科技有限公司 一种浮点数处理装置
US10387122B1 (en) * 2018-05-04 2019-08-20 Olsen Ip Reserve, Llc Residue number matrix multiplier

Also Published As

Publication number Publication date
CN113805844B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
US7912890B2 (en) Method and apparatus for decimal number multiplication using hardware for binary number operations
US8694572B2 (en) Decimal floating-point fused multiply-add unit
WO2022028134A1 (zh) 一种芯片、终端及浮点运算的控制方法和相关装置
EP3674883B1 (en) Multiplication circuit, system on chip, and electronic device
CN103180820A (zh) 用于执行浮点除法的方法和装置
US8874630B2 (en) Apparatus and method for converting data between a floating-point number and an integer
JP2021525403A (ja) 改良された低精度の2進浮動小数点形式設定
US10095475B2 (en) Decimal and binary floating point rounding
JP2006154979A (ja) 浮動小数点数演算回路
CN112241291A (zh) 用于指数函数实施的浮点单元
TW202314570A (zh) 用於加速指數函數的計算的系統及方法
US20150113027A1 (en) Method for determining a logarithmic functional unit
US8775494B2 (en) System and method for testing whether a result is correctly rounded
US7814138B2 (en) Method and apparatus for decimal number addition using hardware for binary number operations
CN113805844B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113778523B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN115268832A (zh) 浮点数取整的方法、装置以及电子设备
TW202333041A (zh) 執行浮點運算的系統及方法
US10289413B2 (en) Hybrid analog-digital floating point number representation and arithmetic
US20140149481A1 (en) Decimal Multi-Precision Overflow and Tininess Detection
US20230098421A1 (en) Method and apparatus of dynamically controlling approximation of floating-point arithmetic operations
WO2023093128A1 (zh) 运算指令处理方法及系统、主处理器和协处理器
CN115904308A (zh) 一种计算超越函数的运算电路、运算装置和运算方法
CN113961168A (zh) 数据处理方法、装置、电子设备及存储介质
CN113961169A (zh) 数据处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant