CN115328438B - 一种数据处理方法、装置及电子设备 - Google Patents

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

Info

Publication number
CN115328438B
CN115328438B CN202211252697.2A CN202211252697A CN115328438B CN 115328438 B CN115328438 B CN 115328438B CN 202211252697 A CN202211252697 A CN 202211252697A CN 115328438 B CN115328438 B CN 115328438B
Authority
CN
China
Prior art keywords
point number
scaling
floating point
calculating
proportion
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.)
Active
Application number
CN202211252697.2A
Other languages
English (en)
Other versions
CN115328438A (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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202211252697.2A priority Critical patent/CN115328438B/zh
Publication of CN115328438A publication Critical patent/CN115328438A/zh
Application granted granted Critical
Publication of CN115328438B publication Critical patent/CN115328438B/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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49915Mantissa overflow or underflow in handling floating-point numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)
  • Alarm Systems (AREA)

Abstract

本申请公开了一种数据处理方法、装置及电子设备,涉及多方安全计算技术领域和隐私计算技术领域,包括:获取待计算的定点数和浮点数;计算该定点数的有效数字个数;基于该有效数字个数,确定标准放缩比例;当该浮点数小于标准放缩比例时,按照标准放缩比例,采用放缩法计算该定点数与该浮点数的乘积;当该浮点数不小于标准放缩比例时,将小于标准放缩比例的比例作为放缩比例,采用放缩法计算该定点数与该浮点数的乘积。采用本方案,提高了计算定点数与浮点数的乘积的计算效率。

Description

一种数据处理方法、装置及电子设备
技术领域
本申请涉及多方安全计算技术领域和隐私计算技术领域,尤其涉及一种数据处理方法、装置及电子设备。
背景技术
多方安全计算(MPC)可以在保护个人隐私信息的前提下,实现隐私数据共享。MPC是指某一组互相不信任的参与者在保护个人隐私的同时,还可以进行协同计算。MPC需要确保输入数据的独立性、传递数据的准确性、计算过程的正确性,同时不能将个人的隐私数据泄露给其他参与者。
隐私保护计算(Privacy-Preserving Computing)是指在保护隐私信息的前提下,实现数据价值的分析和挖掘,即实现数据在加密的、非透明的状态下的计算,以保护计算各参与方的隐私信息安全。隐私保护计算的技术,可应用于多方安全计算。
在多方安全计算技术和隐私保护计算技术中,需要对原始数据进行加密,得到密文数据,并基于密文数据进行计算和操作,基于密文数据的特点和需要,在密文数据的计算中,经常需要使用定点数和浮点数表示密文数据,并涉及定点数和浮点数的计算。
当使用定点数表示一个数字时,将约定计算机中小数点的位置,且这个位置固定不变,小数点前、后的数字,分别用二进制数表示,组合起来就可以把需要表示的该数字在计算机中存储起来,这种表示方式叫做定点表示法,用这种方法表示的数字可以称作定点数。
浮点计算是指浮点数参与的运算,一个浮点数a由两个数m和e来表示:a= m×b^e。在任意一个这样的计数系统中,可以选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。浮点计算通常伴随着因为无法精确表示而进行的近似或舍入。
在密文计算平台上经常需要进行定点数与浮点数的乘法计算,目前,现有技术中主要采用如下两种方法:
第一种方法是定点数直接与浮点数相乘,假设一个数为1.23456,采用定点数表示为1.23456*2^10,其中10表示定点数的固定次幂,该数1.23456在计算机中采用定点数表示,实质上是一个大整数1264(int(1.23456*2^10 = 1264.18944)),另有一浮点数3.456*2^3,在实现两个数的乘法时,将浮点数3.456*2^3直接乘以大整数1264,由于这一步是浮点数乘以大整数,不可避免的将出现精度误差。
第二种方法是放缩法,按照上一示例,先将浮点数3.456*2^3乘以1000,转换为3456*2^3的整数,然后与1264相乘,得到结果后,再将结果除以1000。
对于上述第一种方法,整数与浮点数直接相乘,其过程需要将整数转换为浮点数,再在浮点数上进行乘法,之后得到浮点数,再转换为整数。这个过程中类型转换较多,而且在密文计算平台上,整数一般比较大,难以被浮点数所表示,导致计算过程和计算结果出现较大偏差。
对于上述第二种方法,其难点在于找到合适的放缩比例,按照上一示例,对于浮点数3.456*2^3,其底数为3.456,虽然我们知道将其乘以1000就可以转换为整数,但是对于计算机来讲,并不容易。目前的做法是将其转换为字符串,然后根据字符串的长度确定放缩比例。但是将数字转换为字符串,再将字符串转换为数字,开销较大,复杂度较高,严重影响计算效率。
发明内容
本申请实施例提供一种数据处理方法、装置及电子设备,用以解决现有技术中存在的计算定点数与浮点数的乘积的计算效率较低的问题。
本申请实施例提供一种数据处理方法,包括:
获取待计算的定点数和浮点数;
计算所述定点数的有效数字个数;
基于所述有效数字个数,确定标准放缩比例;
当所述浮点数小于所述标准放缩比例时,按照所述标准放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积;
当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积。
进一步的,所述计算所述定点数的有效数字个数,包括:
获取所述定点数的2的固定次幂;
计算以第一预设数值为底所述2的固定次幂的对数,结果作为所述定点数的有效数字个数;
所述基于所述有效数字个数,确定标准放缩比例,包括:
计算所述第一预设数值的所述有效数字个数次方,结果作为标准放缩比例。
进一步的,所述计算以第一预设数值为底所述2的固定次幂的对数,包括:
计算以10为底所述2的固定次幂的对数;
所述计算所述第一预设数值的所述有效数字个数次方,包括:
计算10的所述有效数字个数次方。
进一步的,所述当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,包括:
当所述浮点数不小于所述标准放缩比例时,计算所述有效数字个数除以第二预设数值,得到调整后个数;
计算所述第一预设数值的所述调整后个数次方,结果作为调整后放缩比例;
按照所述调整后放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,所述第二预设数值大于1。
进一步的,所述第二预设数值为2。
进一步的,所述当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,包括:
当所述浮点数不小于所述标准放缩比例时,确定所述浮点数所位于的预设比例范围,该预设比例范围为多个预设比例范围之一,且该多个预设比例范围中的数值均不小于所述标准放缩比例;
按照所位于的该预设比例范围对应的放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,该多个预设比例范围中的数值越大,对应的放缩比例越小。
本申请实施例还提供一种数据处理装置,包括:
数据获取模块,用于获取待计算的定点数和浮点数;
个数计算模块,用于计算所述定点数的有效数字个数;
比例确定模块,用于基于所述有效数字个数,确定标准放缩比例;
乘积计算模块,用于当所述浮点数小于所述标准放缩比例时,按照所述标准放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积;当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积。
进一步的,所述个数计算模块,具体用于获取所述定点数的2的固定次幂;并计算以第一预设数值为底所述2的固定次幂的对数,结果作为所述定点数的有效数字个数;
所述比例确定模块,具体用于计算所述第一预设数值的所述有效数字个数次方,结果作为标准放缩比例。
进一步的,所述个数计算模块,具体用于计算以10为底所述2的固定次幂的对数;
所述比例确定模块,具体用于计算10的所述有效数字个数次方。
进一步的,所述乘积计算模块,具体用于当所述浮点数不小于所述标准放缩比例时,计算所述有效数字个数除以第二预设数值,得到调整后个数;
计算所述第一预设数值的所述调整后个数次方,结果作为调整后放缩比例;
按照所述调整后放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,所述第二预设数值大于1。
进一步的,所述第二预设数值为2。
进一步的,所述乘积计算模块,具体用于当所述浮点数不小于所述标准放缩比例时,确定所述浮点数所位于的预设比例范围,该预设比例范围为多个预设比例范围之一,且该多个预设比例范围中的数值均不小于所述标准放缩比例;
按照所位于的该预设比例范围对应的放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,该多个预设比例范围中的数值越大,对应的放缩比例越小。
本申请实施例还提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一所述的数据处理方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据处理方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据处理方法。
本申请有益效果包括:
本申请实施例提供的方法中,首先获取待计算的定点数和浮点数,并计算该定点数的有效数字个数,基于有效数字个数确定标准放缩比例,当该浮点数小于标准放缩比例时,按照该标准放缩比例,采用放缩法计算该定点数与该浮点数的乘积,当该浮点数不小于标准放缩比例时,由于该浮点数较大,如果仍采用该标准放缩比例对浮点数进行放大,可能导致溢出,进而导致最终的计算结果偏差较大,所以,此时将小于该标准放缩比例的比例作为放缩比例,采用放缩法计算该定点数与该浮点数的乘积。在该计算过程中,仅需要一次整数上的比较,即可以确定放缩法的放缩比例,不再涉及数字也字符串之间的转换,降低了计算复杂度,在确保计算结果准确的情况下,提高了计算效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的数据处理方法的流程图;
图2为本申请另一实施例提供的数据处理方法的流程图;
图3为本申请实施例提供的数据处理装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了给出提高计算定点数与浮点数的乘积的计算效率的实现方案,本申请实施例提供了一种数据处理方法、装置及电子设备,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例提供一种数据处理方法,如图1所示,包括:
步骤11、获取待计算的定点数和浮点数;
步骤12、计算该定点数的有效数字个数;
步骤13、基于该有效数字个数,确定标准放缩比例;
步骤14、当该浮点数小于标准放缩比例时,按照标准放缩比例,采用放缩法计算该定点数与该浮点数的乘积;
当该浮点数不小于标准放缩比例时,将小于标准放缩比例的比例作为放缩比例,采用放缩法计算该定点数与该浮点数的乘积。
本申请实施例提供的上述数据处理方法,基于定点数的有效数字个数确定标准放缩比例,当该浮点数小于标准放缩比例时,按照该标准放缩比例,采用放缩法计算该定点数与该浮点数的乘积,当该浮点数不小于标准放缩比例时,由于该浮点数较大,如果仍采用该标准放缩比例对浮点数进行放大,可能导致溢出,进而导致最终的计算结果偏差较大,所以,此时将小于该标准放缩比例的比例作为放缩比例,采用放缩法计算该定点数与该浮点数的乘积。在该计算过程中,仅需要一次整数上的比较,即可以确定放缩法的放缩比例,不再涉及数字也字符串之间的转换,降低了计算复杂度,在确保计算结果准确的情况下,提高了计算效率。
下面结合附图,用具体实施例对本申请提供的方法及装置进行详细描述。
本申请实施例提供一种数据处理方法,如图2所示,包括:
步骤21、获取待计算的定点数和浮点数。
定点数一般是基于2的固定次幂进行表示的,假设给定一个数字为d,定点数的2的固定次幂为e,使用定点数a表示数字d,即a=d*2^e,例如,e为40,那么在计算机系统中,使用定点数a表示数字d,其中,定点数a为一个128位的大整数,前48位可以空出,或者作为控制符号,中间40位本质上是数字d的整数部分,后40位本质上是数字d的小数部分。
步骤22、获取该定点数的2的固定次幂。
步骤23、计算以第一预设数值为底该2的固定次幂的对数,结果作为该定点数的有效数字个数c。
例如,定点数a的固定次幂为40,那么2的固定次幂为2^40,则该定点数的有效数字个数c为以第一预设数值为底2^40的对数。
具体的,该第一预设数值可以为10,相应的,该定点数的有效数字个数c为以10为底2^40的对数,结果约等于12。
步骤24、计算第一预设数值的该有效数字个数次方,结果作为标准放缩比例。
具体的,当该第一预设数值为10时,标注缩放比例为10^c。
本申请实施例中,基于定点数的有效数字个数确定标准缩放比例,并不是绝对的只能是第一预设数值的该有效数字个数次方,也可以是有效数字个数加减1或2,结果可以作为调整后的有效数字个数,并计算第一预设数值的该调整后的有效数字个数次方,作为标准放缩比例。
步骤25、比较该浮点数与标准放缩比例,如果该浮点数小于标准放缩比例,执行步骤26,否则,执行步骤27。
步骤26、当该浮点数小于标准放缩比例时,按照标准放缩比例,采用放缩法计算该定点数与浮点数的乘积。
假设定点数为a,浮点数为b,标准放缩比例为10^c,采用放缩法的具体计算过程如下:
计算tmp = int(b*10^c),得到整数tmp,其中int()表示取整;
计算tmp_res = a*tmp;
计算res = tmp_res / int(10^c),其中res作为计算定点数a与浮点数b的乘积的结果。
步骤27、该浮点数不小于标准放缩比例时,表示该浮点数较大,如果按照标准放缩比例放大,可能导致溢出,所以,可以将小于标准放缩比例的比例作为放缩比例,采用放缩法计算该定点数与该浮点数的乘积。
本步骤中,对于放缩法中所采用的小于标准放缩比例的放缩比例,具体可以采用如下方式确定:
第一种方式:计算有效数字个数除以第二预设数值,得到调整后个数;
计算第一预设数值的调整后个数次方,结果作为调整后放缩比例,即作为放缩法采用的放缩比例,例如,该第二预设数值可以为2;
假设定点数为a,浮点数为b,标准放缩比例为10^c,采用放缩法的具体计算过程如下:
计算tmp = int(b*10^(c/2)),得到整数tmp,其中int()表示取整;
计算tmp_res = a*tmp;
计算res = tmp_res / int(10^(c/2)),其中res作为计算定点数a与浮点数b的乘积的结果。
第二种方式:设置多个预设比例范围,且该多个预设比例范围中的数值均不小于标准放缩比例,并且,该多个预设比例范围可以是连续的,且不包含交集,同时,针对每个预设比例范围设置对应的一个放缩比例,且该多个预设比例范围中的数值越大,对应的放缩比例越小,因为数值越大,放缩比例较大可能发生溢出;
当该浮点数不小于标准放缩比例时,确定该浮点数所位于的预设比例范围,该预设比例范围为多个预设比例范围之一;
按照所位于的该预设比例范围对应的放缩比例,采用放缩法计算该定点数与该浮点数的乘积。
在上述第二种方式中,多个预设比例范围以及对应的放缩比例,可以基于实际应用的各种需求进行设置,例如,是否会发生溢出、计算效率等因素。
采用本申请实施例提供的上述数据处理方法,在计算定点数与浮点数的乘积的过程中,仅需要一次整数上的比较,即可以确定放缩法的放缩比例,不再涉及数字也字符串之间的转换,降低了计算复杂度,在确保计算结果准确的情况下,提高了计算效率。
将该方法应用于密文计算平台上,在实际应用中,相比现有技术性能提升约200倍,进而大幅度提升了系统的整体性能。
基于同一发明构思,根据本申请上述实施例提供的数据处理方法,相应地,本申请另一实施例还提供了一种数据处理装置,其结构示意图如图3所示,具体包括:
数据获取模块31,用于获取待计算的定点数和浮点数;
个数计算模块32,用于计算所述定点数的有效数字个数;
比例确定模块33,用于基于所述有效数字个数,确定标准放缩比例;
乘积计算模块34,用于当所述浮点数小于所述标准放缩比例时,按照所述标准放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积;当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积。
进一步的,所述个数计算模块32,具体用于获取所述定点数的2的固定次幂;并计算以第一预设数值为底所述2的固定次幂的对数,结果作为所述定点数的有效数字个数;
所述比例确定模块33,具体用于计算所述第一预设数值的所述有效数字个数次方,结果作为标准放缩比例。
进一步的,所述个数计算模块32,具体用于计算以10为底所述2的固定次幂的对数;
所述比例确定模块33,具体用于计算10的所述有效数字个数次方。
进一步的,所述乘积计算模块34,具体用于当所述浮点数不小于所述标准放缩比例时,计算所述有效数字个数除以第二预设数值,得到调整后个数;
计算所述第一预设数值的所述调整后个数次方,结果作为调整后放缩比例;
按照所述调整后放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,所述第二预设数值大于1。
进一步的,所述第二预设数值为2。
进一步的,所述乘积计算模块34,具体用于当所述浮点数不小于所述标准放缩比例时,确定所述浮点数所位于的预设比例范围,该预设比例范围为多个预设比例范围之一,且该多个预设比例范围中的数值均不小于所述标准放缩比例;
按照所位于的该预设比例范围对应的放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,该多个预设比例范围中的数值越大,对应的放缩比例越小。
上述各模块的功能可对应于图1或图2所示流程中的相应处理步骤,在此不再赘述。
本申请的实施例所提供的数据处理装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要数据处理装置具有上述功能,都应该在本申请的保护范围之内。
本申请实施例还提供一种电子设备,如图4所示,包括处理器41和机器可读存储介质42,所述机器可读存储介质42存储有能够被所述处理器41执行的机器可执行指令,所述处理器41被所述机器可执行指令促使:实现上述任一所述的数据处理方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据处理方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据处理方法。
上述电子设备中的机器可读存储介质可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质,计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种数据处理方法,其特征在于,包括:
获取待计算的定点数和浮点数;
获取所述定点数的2的固定次幂;
计算以第一预设数值为底所述2的固定次幂的对数,结果作为所述定点数的有效数字个数;
计算所述第一预设数值的所述有效数字个数次方,结果作为标准放缩比例;
当所述浮点数小于所述标准放缩比例时,按照所述标准放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积;
当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积。
2.如权利要求1所述的方法,其特征在于,所述计算以第一预设数值为底所述2的固定次幂的对数,包括:
计算以10为底所述2的固定次幂的对数;
所述计算所述第一预设数值的所述有效数字个数次方,包括:
计算10的所述有效数字个数次方。
3.如权利要求1所述的方法,其特征在于,所述当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,包括:
当所述浮点数不小于所述标准放缩比例时,计算所述有效数字个数除以第二预设数值,得到调整后个数;
计算所述第一预设数值的所述调整后个数次方,结果作为调整后放缩比例;
按照所述调整后放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,所述第二预设数值大于1。
4.如权利要求3所述的方法,其特征在于,所述第二预设数值为2。
5.如权利要求1所述的方法,其特征在于,所述当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,包括:
当所述浮点数不小于所述标准放缩比例时,确定所述浮点数所位于的预设比例范围,该预设比例范围为多个预设比例范围之一,且该多个预设比例范围中的数值均不小于所述标准放缩比例;
按照所位于的该预设比例范围对应的放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积,该多个预设比例范围中的数值越大,对应的放缩比例越小。
6.一种数据处理装置,其特征在于,包括:
数据获取模块,用于获取待计算的定点数和浮点数;
个数计算模块,用于获取所述定点数的2的固定次幂;并计算以第一预设数值为底所述2的固定次幂的对数,结果作为所述定点数的有效数字个数;
比例确定模块,用于计算所述第一预设数值的所述有效数字个数次方,结果作为标准放缩比例;
乘积计算模块,用于当所述浮点数小于所述标准放缩比例时,按照所述标准放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积;当所述浮点数不小于所述标准放缩比例时,将小于所述标准放缩比例的比例作为放缩比例,采用放缩法计算所述定点数与所述浮点数的乘积。
7.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法。
CN202211252697.2A 2022-10-13 2022-10-13 一种数据处理方法、装置及电子设备 Active CN115328438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211252697.2A CN115328438B (zh) 2022-10-13 2022-10-13 一种数据处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211252697.2A CN115328438B (zh) 2022-10-13 2022-10-13 一种数据处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN115328438A CN115328438A (zh) 2022-11-11
CN115328438B true CN115328438B (zh) 2023-01-10

Family

ID=83913735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211252697.2A Active CN115328438B (zh) 2022-10-13 2022-10-13 一种数据处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115328438B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658153A (zh) * 2004-02-18 2005-08-24 联发科技股份有限公司 复合式动态定点数表示法与运算法及其处理器结构
CN113781217A (zh) * 2021-08-31 2021-12-10 深圳华云信息系统有限公司 基于fpga的浮点数处理方法、装置、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290024B2 (en) * 2003-12-18 2007-10-30 Intel Corporation Methods and apparatus for performing mathematical operations using scaled integers
US9110713B2 (en) * 2012-08-30 2015-08-18 Qualcomm Incorporated Microarchitecture for floating point fused multiply-add with exponent scaling
US20180107451A1 (en) * 2016-10-14 2018-04-19 International Business Machines Corporation Automatic scaling for fixed point implementation of deep neural networks
CN111191783B (zh) * 2018-11-15 2024-04-05 嘉楠明芯(北京)科技有限公司 一种自适应量化方法及装置、设备、介质
CN114065900A (zh) * 2020-07-30 2022-02-18 华为技术有限公司 数据处理方法和数据处理装置
CN113780523B (zh) * 2021-08-27 2024-03-29 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658153A (zh) * 2004-02-18 2005-08-24 联发科技股份有限公司 复合式动态定点数表示法与运算法及其处理器结构
CN113781217A (zh) * 2021-08-31 2021-12-10 深圳华云信息系统有限公司 基于fpga的浮点数处理方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SoC芯片中基于统计分析的浮点到定点转换方法;周凡等;《电路与系统学报》;20070228(第01期);全文 *

Also Published As

Publication number Publication date
CN115328438A (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
US11023801B2 (en) Data processing method and apparatus
US8028015B2 (en) Method and system for large number multiplication
CN106855952B (zh) 基于神经网络的计算方法及装置
US20130185345A1 (en) Algebraic processor
US10684825B2 (en) Compressing like magnitude partial products in multiply accumulation
CN112200713A (zh) 一种联邦学习中的业务数据处理方法、装置以及设备
CN111967608A (zh) 数据处理方法、装置、设备及存储介质
Molahosseini et al. A multifunctional unit for designing efficient RNS-based datapaths
US20230254115A1 (en) Protection of transformations by intermediate randomization in cryptographic operations
US6711596B1 (en) Method and apparatus for determining the approximate valve of a logarithmic function
CN115328438B (zh) 一种数据处理方法、装置及电子设备
Dumas On newton–raphson iteration for multiplicative inverses modulo prime powers
CN115062299B (zh) 一种针对数据泄露的安全性检测方法、装置及电子设备
US20180203669A1 (en) Digit recurrence division
Selianinau Computationally efficient approach to implementation of the Chinese Remainder Theorem algorithm in minimally redundant Residue Number System
CN115361131A (zh) 一种密文数据计算方法、装置和电子设备
CN115659380B (zh) 一种密文数据拟合计算方法、装置及电子设备
CN115483934A (zh) 用于多方安全计算的数据转换方法和装置
CN113126954B (zh) 浮点数乘法计算的方法、装置和算术逻辑单元
CN113988279A (zh) 一种支持负值激励的存算阵列输出电流读出方法及系统
CN113626841A (zh) 基于多方安全计算的选择问题处理方法
RU75072U1 (ru) Устройство для вычисления тригонометрических функций
CN116127523B (zh) 一种隐私计算中的数据处理方法、装置及电子设备
CN114706557B (zh) 一种asic芯片及蒙哥马利模乘的实现方法和装置
Cheng et al. A Unified Root Algorithm in Bignum Arithmetic

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