CN117632857A - 数据处理方法、装置以及设备 - Google Patents

数据处理方法、装置以及设备 Download PDF

Info

Publication number
CN117632857A
CN117632857A CN202311762665.1A CN202311762665A CN117632857A CN 117632857 A CN117632857 A CN 117632857A CN 202311762665 A CN202311762665 A CN 202311762665A CN 117632857 A CN117632857 A CN 117632857A
Authority
CN
China
Prior art keywords
shift
data
group
processed
bit
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.)
Pending
Application number
CN202311762665.1A
Other languages
English (en)
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.)
Hexin Technology Co ltd
Shanghai Hexin Digital Technology Co ltd
Original Assignee
Hexin Technology Co ltd
Shanghai Hexin Digital 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 Hexin Technology Co ltd, Shanghai Hexin Digital Technology Co ltd filed Critical Hexin Technology Co ltd
Priority to CN202311762665.1A priority Critical patent/CN117632857A/zh
Publication of CN117632857A publication Critical patent/CN117632857A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请提供了一种数据处理方法、装置以及设备,涉及计算机技术领域,方法包括:获取待处理数据,并将该待处理数据按照数位顺序划分为n个分组;其中,该待处理数据包括二进制数,n为正整数,且n≥2;基于各个分组中的二进制数,对每个分组对应的移位参数进行移位处理;其中,当i=1时,第i个分组对应的移位参数为预设参数;当i≥2时,第i个分组对应的移位参数由第i‑1个分组对应的移位结果确定;根据第n个分组对应的移位结果,确定二进制数对应的十进制数。本申请可以快速、有效的实现二进制数与十进制数之间的转换,方便快捷,易于通过电路实现。

Description

数据处理方法、装置以及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置以及设备。
背景技术
2008年发行的IEEE754标准修订版本(IEEE754-2008)介绍了十进制浮点(DecimalFloating Point,DFP)单元的十进制64精度(16-digit)和128精度(34-digit)格式和规范,这为十进制浮点的运用提供了理论基础。
由于二进制数据在计算机中能够更有效的存储和进行快速运算,所以目前的浮点运算大部分仍然以二进制数为基础。基于此,无论是在数字系统还是在计算机算术运算系统中,实现二进制数与十进制数之间快速、有效的转换,具有非常重要的意义。
发明内容
本申请提供了一种数据处理方法、装置以及设备,可以快速、有效的实现进二制数与十进制数之间的转换。
第一方面,本申请提供了一种数据处理方法,该方法包括:
获取待处理数据,并将所述待处理数据按照数位顺序划分为n个分组;其中,所述待处理数据包括二进制数,n为正整数,且n≥2;
基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理;其中,当i=1时,第i个所述分组对应的移位参数为预设参数;当i≥2时,第i个所述分组对应的移位参数由第i-1个所述分组对应的移位结果确定;
根据第n个分组对应的移位结果,确定所述二进制数对应的十进制数。
在一些实施例中,所述将所述待处理数据按照数位顺序划分为n个分组,包括:
确定所述待处理数据的位数是否为4的整数倍;
若所述待处理数据的位数为4的整数倍,则将所述待处理数据按照数位顺序划分为n个分组;若所述待处理数据是位数不是4的整数倍,则在所述待处理数据的最高位补0后,将所述待处理数据按照数位顺序划分为n个分组;
其中,每个所述分组中均包括一个4位二进制数。
在一些实施例中,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,还包括:
将各个所述分组对应的移位参数转换为二进制形式的目标编码,所述目标编码的各个数位对应不同的等效值,且所述目标编码中值为1的数位对应的等效值之和与同一个所述分组对应的移位参数的值相同;
基于各个所述分组中的二进制数,对每个所述分组对应的所述目标编码进行移位处理。
在一些实施例中,所述将各个所述分组对应的移位参数转换为二进制形式的目标编码,包括:
将每个所述分组中的所述4位二进制数转换为6位二进制形式的所述目标编码;其中,所述目标编码的各个数位对应的等效值包括8、6、4、2、0、1。
在一些实施例中,所述方法还包括:
确定所述待处理数据是否为负数;
当所述待处理数据为负数时,将所述待处理数据中除去符号位的部分进行取反加1后,将新生成的数据按照数位顺序划分为所述n个分组。
在一些实施例中,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,包括:
基于各个所述分组中的二进制数,对每个所述分组的移位参数对应的目标编码进行移位处理;所述移位处理包括向左移位处理;
确定每个所述分组的移位参数对应的目标编码在移位处理过程中的进位信息,以及移位后生成的目标编码;
基于所述进位信息与所述移位后生成的目标编码,确定每个所述分组对应的移位结果。
在一些实施例中,当i=1时,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,包括:
基于第i个所述分组中的所述4位二进制数,对所述预设参数对应的第一目标编码进行若干次移位;其中,在第j次移位后的所述第一目标编码的最后一位,替换为第i个所述分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4;
将所述第一目标编码在移位过程中生成的第一进位数据与所述第一目标编码最后一次移位后生成的目标编码,确定为第i个所述分组对应的移位结果。
在一些实施例中,当i≥2时,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,包括:
基于第i个所述分组中的所述4位二进制数,对第i-1个所述分组对应的目标编码最后一次移位后生成的第二目标编码进行若干次移位;其中,在第j次移位后,将移位后的所述第二目标编码的最后一位,替换为第i个所述分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4;
确定所述第二目标编码在移位过程中生成的第二进位数据与第三目标编码;
基于第i-1个所述分组中对应的目标编码在移位过程中生成的进位数据,对所述第二进位数据进行若干次移位;其中,在第j次移位后,将移位后的所述第二进位数据的最后一位,替换为第i-1个所述分组中对应的目标编码在移位过程中生成的进位数据的第j位;其中,j为正整数,且j≤4;
将所述第二进位数据在移位过程中生成的进位数据、所述第二进位数据最后一次移位后生成的目标编码,以及所述第三目标编码,确定为第i个所述分组对应的移位结果。
第二方面,本申请提供了一种数据处理装置,该装置包括:
预处理模块,用于获取待处理数据,并将所述待处理数据按照数位顺序划分为n个分组;其中,所述待处理数据包括二进制数,n为正整数,且n≥2;
移位处理模块,用于基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理;其中,当i=1时,第i个所述分组对应的移位参数为预设参数;当i≥2时,第i个所述分组对应的移位参数由第i-1个所述分组对应的移位结果确定;
确定模块,用于根据第n个分组对应的移位结果,确定所述二进制数对应的十进制数。
第三方面,本申请提供了一种电子设备,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面提供的数据处理方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被计算机执行时,实现如第一方面提供的数据处理方法。
本申请实施例中所提供的数据处理方法、装置以及设备,通过将待处理的二进制数拆分为多个分组,并以分组为单位,基于各个分组中的二进制数,对每个分组对应的移位参数进行移位处理,得到各个分组对应的移位结果,进而可以将待处理的二进制数转换为十进制数,转换过程方便快捷,易于通过电路实现。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例中所提供的一种数据处理方法的步骤流程示意图;
图2为本申请实施例中提供的一种数据转换流程示意图一;
图3为本申请实施例中提供的一种数据转换流程示意图二;
图4为本申请实施例中提供的一种数据处理装置的程序模块示意图;
图5为本申请实施例提供的一种电子设备的硬件结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中的公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请实施例中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请实施例中提供的数据处理方法、装置以及设备可应用于计算机技术领域,也可用于除计算机技术领域之外的任意领域,本申请对提供的数据处理方法、装置以及设备的应用领域不做限定。
以下对本申请实施例中涉及的部分术语进行解释:
POWER:Performance Optimization With Enhanced RISC,一种基于精简指令集计算机(Reduced Instruction Set Computer,RISC)架构的指令集体系构架,是最通用的几种中央处理器(Central Processing Unit,CPU)体系结构之一。
BCD(Binary-Coded Decimal,二进制编码的十进制)码:一种用4位二进制数来表示1位十进制数中的0~9这10个数码的编码形式,它用二进制编码的十进制代码。这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行,相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。
在一些实施方式中,十进制浮点数一般不直接用二进制数来表示尾数,而是用BCD码这种编码形式,其利用4个bit的二进制数来表示1个十进制的数码,使二进制数和十进制数之间的转换得以快捷地进行。需要说明的是,十进制数10、11、12、13、14、15对应的二进制表述分别为1010、1011、1100、1101、1110、1111,在实际的计算过程中不会出现这些十进制数,故相应的二进制表述也不会出现在具体的计算中。
可以理解的是,有一些十进制小数无法用二进制来表示,如0.7换算成二进制就是:0.7×2=1.4取“1”,留下0.4继续乘二取整;0.4×2=0.8取“0”,留下0.8继续乘二取整;0.8×2=1.6取“1”,留下0.6继续乘二取整;0.6×2=1.2取“1”,留下0.2继续乘二取整;0.2×2=0.4取“0”,留下0.4继续乘二取整。此过程会一直循环,直到达到精度限制后才会停止。
当使用二进制数和十进制浮点数进行转换时,对于二进制定点数,是可以用十进制浮点数来表示的。即一个数学意义上的整数,可以使用二进制来表达,也可以使用十进制来表达。而对于二进制定点数的十进制浮点数表示,本质上其实是求其对应的十进制数(即BCD数)表达。一个确定的BCD数,必然可以转为相应的十进制浮点数。
在IEEE的标准里,将十进制数表示为64bit或者128bit。其中,十进制数的最后4bit表示符号位,1010、1100、1110、1111均表示符号为正;1011、1101均表示符号为负。二进制定点数包括有符号二进制数和无符号二进制数,其中无符号二进制数是可以被有符号二进制数所表示的(不考虑数据位宽的限制),有符号二进制数的第1个bit是符号位,若值为0,则为正数,否则为负数。
由于二进制数据在计算机中能够更有效的存储和进行快速运算,所以目前的浮点运算大部分仍然以二进制数为基础。基于此,无论是在数字系统还是在计算机算术运算系统中,实现二进制与十进制数之间快速、有效的转换,具有非常重要的意义。
面对上述技术问题,本申请实施例中提供了一种数据处理方法,该数据处理方法可以快速、有效的实现二进制数与十进制数之间的转换,从而为金融计算、数据管理、建模分析、税率计算等对十进制数有需求的领域,提供了更好的解决方案。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
参照图1,图1为本申请实施例中所提供的一种数据处理方法的步骤流程示意图。在一些实施方式中,上述数据处理方法包括:
S101、获取待处理数据,并将该待处理数据按照数位顺序划分为n个分组;其中,待处理数据包括二进制数。
可选的,n为正整数,且n≥2。
示例性的,以64位的有符号二进制定点数作为例,由于64位的有符号二进制定点数的最大值是2^63-1,即922_3372_0368_5477_5807,这需要19个BCD码来表示,因此转换好的十进制数应有19个BCD码和1个符号位,共80bit。
在一些实施方式中,可以将二进制定点数的符号位提取出来,称为sign,转换后的符号与原符号保持一致。假设我们要转换的二进制数是10001011,符号为正。则可以将该二进制数划分为2个分组,分别为1000与1011。
在一些实施方式中,可以确定待处理数据的位数是否为4的整数倍;若待处理数据的位数为4的整数倍,则将待处理数据按照数位顺序划分为n个分组,每个分组中均包括一个4位二进制数;若待处理数据是位数不是4的整数倍,则在待处理数据的最高位补0后,将待处理数据按照数位顺序划分为n个分组,每个分组中同样均包括一个4位二进制数。
S102、基于各个分组中的二进制数,对每个分组对应的移位参数进行移位处理;其中,当i=1时,第i个分组对应的移位参数为预设参数;当i≥2时,第i个分组对应的移位参数由第i-1个分组对应的移位结果确定。
在一些实施方式中,首先可以提取出第一个分组中的二进制数(称为bin1),而称分组对应的移位结果为tgt_bin。
其中,对于第1个分组,由于没有先前的移位结果,将第1个分组对应的移位参数确定为预设参数,该预设参数可以为全0,即可以认为第1个分组的移位参数为全0。
对于第2至第n个分组,其对应的移位参数由前一个分组对应的移位结果确定。
在一些实施方式中,上述移位参数可以为4位二进制数。
在一些实施方式中,上述移位处理可以是将移位参数进行左移。其中,每左移1bit,相当于将此移位参数进行乘2操作。若移位参数为4位二进制数,则该移位参数共有4次左移。
在一些实施方式中,当进行移位处理的数为大于4的二进制数时,可以认为此次移位产生了进位(因为大于4的数乘2必然大于或等于10)。其中,若存在移位,则移位后的低位由当前分组中的二进制数进行相应的补位,而移位后的高位则由移位是否产生进位来决定。
S103、根据第n个分组对应的移位结果,确定上述二进制数对应的十进制数。
在一些实施方式中,在对第n个分组(即最后一个分组)进行移位处理后,即可基于第n个分组对应的移位结果,确定上述待处理的二进制数对应的十进制数。
本申请实施例中所提供的数据处理方法,通过将待处理的二进制数拆分为多个分组,并以分组为单位,基于各个分组中的二进制数,对每个分组对应的移位参数进行移位处理,得到各个分组对应的移位结果,进而可以将待处理的二进制数转换为十进制数,转换过程方便快捷,易于通过电路实现。
基于上述实施例中描述的内容,本申请一些实施例中,上述数据处理方法可以应用于POWER架构。其中,由于在基于POWER架构的电路设计中,负的二进制定点数以补码的形式存在,因此在进行数据类型转换时,可以先对二进制进行正负号的判定。当待处理数据为负数时,将待处理数据中除去符号位的部分进行取反加1后,再将新生成的数据按照数位顺序划分为n个分组。当待处理数据为正数时,可以不需要任何处理,直接将该待处理数据按照数位顺序划分为n个分组。
可以理解的是,本申请提供的数据处理方法并不局限于POWER架构,各种类型的处理器架构均可以依据本申请提供的数据处理方法,将任意二进制数转换为十进制数。
基于上述实施例中描述的内容,本申请一些实施例中,在将待处理数据按照数位顺序划分为n个分组后,可以将各个分组对应的移位参数转换为二进制形式的目标编码,该目标编码的各个数位对应不同的等效值,且该目标编码中值为1的数位对应的等效值之和与同一个分组对应的移位参数的值相同;之后,基于各个分组中的二进制数,对每个分组对应的所述目标编码进行移位处理。
在一些实施方式中,可以将每个分组中的所述4位二进制数转换为6位二进制形式的目标编码;其中,该目标编码的各个数位对应的等效值分别为8、6、4、2、0、1。示例性的,如二进制数“1001”转换后的目标编码为100001;二进制数“0101”转换后的目标编码为001001。
在一些实施方式中,可以基于各个分组中的二进制数,对每个分组的移位参数对应的目标编码进行移位处理;确定每个分组的移位参数对应的目标编码在移位处理过程中的进位信息,以及移位后生成的目标编码;基于上述进位信息与移位后生成的目标编码,确定每个分组对应的移位结果。可选的,上述移位处理包括向左移位处理。
在一些实施方式中,当i=1时,上述基于各个分组中的二进制数,对每个分组对应的移位参数进行移位处理,包括:
步骤21、基于第i个所述分组中的所述4位二进制数,对上述预设参数对应的第一目标编码进行若干次移位;其中,在第j次移位后的第一目标编码的最后一位,替换为第i个分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4。
步骤22、将所述第一目标编码在移位过程中生成的第一进位数据与所述第一目标编码最后一次移位后生成的目标编码,确定为第i个分组对应的移位结果。
在一些实施方式中,当i≥2时,上述基于各个分组中的二进制数,对每个分组对应的移位参数进行移位处理,包括:
步骤31、基于第i个分组中的所述4位二进制数,对第i-1个分组对应的目标编码最后一次移位后生成的第二目标编码进行若干次移位;其中,在第j次移位后,将移位后的第二目标编码的最后一位,替换为第i个分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4。
步骤32、确定上述第二目标编码在移位过程中生成的第二进位数据与第三目标编码。
步骤33、基于第i-1个分组中对应的目标编码在移位过程中生成的进位数据,对上述第二进位数据进行若干次移位;其中,在第j次移位后,将移位后的第二进位数据的最后一位,替换为第i-1个分组中对应的目标编码在移位过程中生成的进位数据的第j位;其中,j为正整数,且j≤4。
步骤34、将上述第二进位数据在移位过程中生成的进位数据、上述第二进位数据最后一次移位后生成的目标编码,以及上述第三目标编码,确定为第i个分组对应的移位结果。
为了更好的理解本申请实施例,本申请以下实施例中使用64位的有符号二进制定点数作为例子,来具体说明将其转换为十进制数的流程。
假设待转换的二进制数是11111011,符号为正。则将该待转换的二进制数以4bit为一个分组分割开,得到两组二进制数,分别为1111与1011。
首先,提取出第一个分组中的二进制数(称为bin1),而称每次转化的结果是tgt_bin。第一次转化时,由于没有先前的转化结果,认为移位参数为全0,将这个全0的数进行左移(每左移1bit,相当于将此二进制数进行乘2操作,共有4次左移,每次左移分别对应double1、double2、double3、double4),当移位的数为大于4的二进制数时,可以认为此次移位产生进位。移位后的低位由bin1进行相应的补位,而移位后的高位则由移位是否产生进位来决定。
在一些实施方式中,上述数据转换流程包括:
步骤41:针对第1个分组,对于移位参数,即0000(二进制数)。首先,将该移位参数改写为一个6bit的二进制数。改写的规则如下:[a_8,a_6,a_4,a_2,a_0,a_1],对应的位置分别表示数值为8、6、4、2、0、1。这样改写后,可以清晰地发现表示数值大小,最后一个a_1表示bin1的每个数字或者上一个数的进位(当前无此情形,等第一次移位处理结束后会用到此类型进位)。
具体的移位过程如表1所示:
表1:tgt_bin移位处理过程示意表
从表1可以看出,移位后的tgt_bin1低位为“001001”,转换为二进制数后则是“0101”;移位后的高位是指移位过程中产生的进位,即“0001”。因此第1个分组对应的移位结果tgt_bin为二进制数:“0001_0101”。这意味着二进制数1111的BCD码可以表示为0001_0101(十进制表示为15)。
具体可以参照图2,图2为本申请实施例中提供的一种数据转换流程示意图一。在图2中,基于bin1对移位参数进行移位处理,可以得到tgt_bin1低位“0101”(十进制表示为5)与tgt_bin1高位“0001”(十进制表示为1)。
步骤42:基于第2个分组中的二进制数“1011”(即bin2),将第1个分组对应的移位结果(0001_0101)作为移位参数进行移位处理。
具体的,先考虑0101,将其转换为二进制形式的目标编码“001001”,每次左移后的a_1对应bin2,可以理解为在将左移时产生的进位信息去除后的剩余部分加上bin2的对应位。转化过程如表2所示,转化结果为0001(十进制表示为1)。
表2:tgt_bin1低位移位处理过程示意表
对于第1个分组对应的移位结果中的“0001”,将其转换为二进制形式的目标编码“000001”,每次左移后的a_1对应表2中的产生进位那一列,即将0001移位后,将进位信息去除后的剩余部分需要加上0101产生的进位。转化过程如表3所示,转换结果为0101(十进制表示为5)。
表3:tgt bin1高位移位处理过程示意表
对于0001在左移过程中产生的进位“0010”,转换过程如表4所示,转换结果为0010(十进制表示为2)。
表4:进位数据移位处理过程示意表
可以理解的是,在一些实施方式中,也可以直接使用0001在左移过程中产生的进位“0010”作为tgt_bin2高位。
具体可以参照图3,图3为本申请实施例中提供的一种数据转换流程示意图二。在一些实施方式中,基于bin2对tgt_bin1低位进行移位处理,得到tgt_bin2低位“0001”(十进制表示为1)与进位信息“1001”;基于tgt_bin1高位“0001”(十进制表示为1)对上述进位信息“1001”进行移位处理,得到tgt_bin2中间位“0101”(十进制表示为5)与进位信息“0010”(十进制表示为2);其中,进位信息“0010”可以直接作为tgt_bin2高位。
综上所述,二进制数1111_1011转换为BCD数为“0010_0101_0001”,十进制表示为251,从高位到低位的4bit数分别对应由表4、表3、表2得到的转换结果。
在一些实施方式中,在上述十进制数“251”加上二进制定点数的符号位sign,即可得到最后的转换结果。
可以理解的是,本申请实施例将二进制数拆分后,通过依次处理由高到低的4bit数,首个转换好的4bit数,即tgt_bin1,在下一阶段会进行左移,此过程与下一个bin(即bin2)进行搭配,继而得到新的tgt_bin。若需要转换的二进制数位宽较大,则重复步骤42的流程,继而得到最终的转换结果。
可以理解的是,由于其它进制的整数均可以用二进制数来表示,因此本申请提供的数据处理方法也可以支持其它进制的整数转换为十进制数。
基于上述实施例中描述的内容,本申请实施例中还提供一种数据处理装置,参照图4,图4为本申请实施例中提供的一种数据处理装置的程序模块示意图,在一些实施方式中,上述数据处理装置40包括:
预处理模块401,用于获取待处理数据,并将所述待处理数据按照数位顺序划分为n个分组;其中,所述待处理数据包括二进制数,n为正整数,且n≥2。
移位处理模块402,用于基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理;其中,当i=1时,第i个所述分组对应的移位参数为预设参数;当i≥2时,第i个所述分组对应的移位参数由第i-1个所述分组对应的移位结果确定。
确定模块403,用于根据第n个分组对应的移位结果,确定所述二进制数对应的十进制数。
本申请实施例中所提供的数据处理装置,通过将待处理的二进制数拆分为多个分组,并以分组为单位,基于各个分组中的二进制数,对每个分组对应的移位参数进行移位处理,得到各个分组对应的移位结果,进而可以将待处理的二进制数转换为十进制数,转换过程方便快捷,易于通过电路实现。
在一些实施例中,预处理模块401,用于:
确定所述待处理数据的位数是否为4的整数倍;
若所述待处理数据的位数为4的整数倍,则将所述待处理数据按照数位顺序划分为n个分组;若所述待处理数据是位数不是4的整数倍,则在所述待处理数据的最高位补0后,将所述待处理数据按照数位顺序划分为n个分组;
其中,每个所述分组中均包括一个4位二进制数。
在一些实施例中,移位处理模块402,用于:
将各个所述分组对应的移位参数转换为二进制形式的目标编码,所述目标编码的各个数位对应不同的等效值,且所述目标编码中值为1的数位对应的等效值之和与同一个所述分组对应的移位参数的值相同;
基于各个所述分组中的二进制数,对每个所述分组对应的所述目标编码进行移位处理。
在一些实施例中,移位处理模块402,用于:
将每个所述分组中的所述4位二进制数转换为6位二进制形式的所述目标编码;其中,所述目标编码的各个数位对应的等效值包括8、6、4、2、0、1。
在一些实施例中,预处理模块401还用于:
确定所述待处理数据是否为负数;
当所述待处理数据为负数时,将所述待处理数据中除去符号位的部分进行取反加1后,将新生成的数据按照数位顺序划分为所述n个分组。
在一些实施例中,移位处理模块402,用于:
基于各个所述分组中的二进制数,对每个所述分组的移位参数对应的目标编码进行移位处理;所述移位处理包括向左移位处理;
确定每个所述分组的移位参数对应的目标编码在移位处理过程中的进位信息,以及移位后生成的目标编码;
基于所述进位信息与所述移位后生成的目标编码,确定每个所述分组对应的移位结果。
在一些实施例中,移位处理模块402,用于:
当i=1时,基于第i个所述分组中的所述4位二进制数,对所述预设参数对应的第一目标编码进行若干次移位;其中,在第j次移位后的所述第一目标编码的最后一位,替换为第i个所述分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4;
将所述第一目标编码在移位过程中生成的第一进位数据与所述第一目标编码最后一次移位后生成的目标编码,确定为第i个所述分组对应的移位结果。
在一些实施例中,移位处理模块402,用于:
当i≥2时,基于第i个所述分组中的所述4位二进制数,对第i-1个所述分组对应的目标编码最后一次移位后生成的第二目标编码进行若干次移位;其中,在第j次移位后,将移位后的所述第二目标编码的最后一位,替换为第i个所述分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4;
确定所述第二目标编码在移位过程中生成的第二进位数据与第三目标编码;
基于第i-1个所述分组中对应的目标编码在移位过程中生成的进位数据,对所述第二进位数据进行若干次移位;其中,在第j次移位后,将移位后的所述第二进位数据的最后一位,替换为第i-1个所述分组中对应的目标编码在移位过程中生成的进位数据的第j位;其中,j为正整数,且j≤4;
将所述第二进位数据在移位过程中生成的进位数据、所述第二进位数据最后一次移位后生成的目标编码,以及所述第三目标编码,确定为第i个所述分组对应的移位结果。
需要说明的是,本申请实施例中预处理模块401、移位处理模块402以及确定模块403具体执行的内容可以参阅上述实施例中描述的数据处理方法中的各个步骤,此处不做赘述。
进一步的,基于上述实施例中所描述的内容,本申请实施例中还提供了一种电子设备,该电子设备包括至少一个处理器和存储器;其中,存储器存储计算机执行指令;上述至少一个处理器执行存储器存储的计算机执行指令,以实现如上述实施例中描述的数据处理方法中的各个步骤。
为了更好的理解本申请实施例,参照图5,图5为本申请实施例提供的一种电子设备的硬件结构示意图。
如图5所示,本实施例的电子设备50包括:处理器501以及存储器502;其中:
存储器502,用于存储计算机执行指令;
处理器501,用于执行存储器存储的计算机执行指令,以实现上述实施例中描述的数据处理方法中的各个步骤。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
当存储器502独立设置时,该设备还包括总线503,用于连接所述存储器502和处理器501。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上实施例中描述的数据处理方法中的各个步骤。
本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速存储器,也可能还包括非易失性存储,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器,电可擦除可编程只读存储器,可擦除可编程只读存储器,可编程只读存储器,只读存储器,磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

1.一种数据处理方法,其特征在于,所述方法包括:
获取待处理数据,并将所述待处理数据按照数位顺序划分为n个分组;其中,所述待处理数据包括二进制数,n为正整数,且n≥2;
基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理;其中,当i=1时,第i个所述分组对应的移位参数为预设参数;当i≥2时,第i个所述分组对应的移位参数由第i-1个所述分组对应的移位结果确定;
根据第n个分组对应的移位结果,确定所述二进制数对应的十进制数。
2.根据权利要求1所述的数据处理方法,其特征在于,所述将所述待处理数据按照数位顺序划分为n个分组,包括:
确定所述待处理数据的位数是否为4的整数倍;
若所述待处理数据的位数为4的整数倍,则将所述待处理数据按照数位顺序划分为n个分组;若所述待处理数据是位数不是4的整数倍,则在所述待处理数据的最高位补0后,将所述待处理数据按照数位顺序划分为n个分组;
其中,每个所述分组中均包括一个4位二进制数。
3.根据权利要求2所述的数据处理方法,其特征在于,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,还包括:
将各个所述分组对应的移位参数转换为二进制形式的目标编码,所述目标编码的各个数位对应不同的等效值,且所述目标编码中值为1的数位对应的等效值之和与同一个所述分组对应的移位参数的值相同;
基于各个所述分组中的二进制数,对每个所述分组对应的所述目标编码进行移位处理。
4.根据权利要求3所述的数据处理方法,其特征在于,所述将各个所述分组对应的移位参数转换为二进制形式的目标编码,包括:
将每个所述分组中的所述4位二进制数转换为6位二进制形式的所述目标编码;其中,所述目标编码的各个数位对应的等效值包括8、6、4、2、0、1。
5.根据权利要求3所述的数据处理方法,其特征在于,所述方法还包括:
确定所述待处理数据是否为负数;
当所述待处理数据为负数时,将所述待处理数据中除去符号位的部分进行取反加1后,将新生成的数据按照数位顺序划分为所述n个分组。
6.根据权利要求3至5任一项所述的数据处理方法,其特征在于,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,包括:
基于各个所述分组中的二进制数,对每个所述分组的移位参数对应的目标编码进行移位处理;所述移位处理包括向左移位处理;
确定每个所述分组的移位参数对应的目标编码在移位处理过程中的进位信息,以及移位后生成的目标编码;
基于所述进位信息与所述移位后生成的目标编码,确定每个所述分组对应的移位结果。
7.根据权利要求6所述的数据处理方法,其特征在于,当i=1时,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,包括:
基于第i个所述分组中的所述4位二进制数,对所述预设参数对应的第一目标编码进行若干次移位;其中,在第j次移位后的所述第一目标编码的最后一位,替换为第i个所述分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4;
将所述第一目标编码在移位过程中生成的第一进位数据与所述第一目标编码最后一次移位后生成的目标编码,确定为第i个所述分组对应的移位结果。
8.根据权利要求7所述的数据处理方法,其特征在于,当i≥2时,所述基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理,包括:
基于第i个所述分组中的所述4位二进制数,对第i-1个所述分组对应的目标编码最后一次移位后生成的第二目标编码进行若干次移位;其中,在第j次移位后,将移位后的所述第二目标编码的最后一位,替换为第i个所述分组中的所述4位二进制数的第j位;其中,j为正整数,且j≤4;
确定所述第二目标编码在移位过程中生成的第二进位数据与第三目标编码;
基于第i-1个所述分组中对应的目标编码在移位过程中生成的进位数据,对所述第二进位数据进行若干次移位;其中,在第j次移位后,将移位后的所述第二进位数据的最后一位,替换为第i-1个所述分组中对应的目标编码在移位过程中生成的进位数据的第j位;其中,j为正整数,且j≤4;
将所述第二进位数据在移位过程中生成的进位数据、所述第二进位数据最后一次移位后生成的目标编码,以及所述第三目标编码,确定为第i个所述分组对应的移位结果。
9.一种数据处理装置,其特征在于,所述装置包括:
预处理模块,用于获取待处理数据,并将所述待处理数据按照数位顺序划分为n个分组;其中,所述待处理数据包括二进制数,n为正整数,且n≥2;
移位处理模块,用于基于各个所述分组中的二进制数,对每个所述分组对应的移位参数进行移位处理;其中,当i=1时,第i个所述分组对应的移位参数为预设参数;当i≥2时,第i个所述分组对应的移位参数由第i-1个所述分组对应的移位结果确定;
确定模块,用于根据第n个分组对应的移位结果,确定所述二进制数对应的十进制数。
10.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8任一项所述的数据处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被计算机执行时,实现如权利要求1至8任一项所述的数据处理方法。
CN202311762665.1A 2023-12-19 2023-12-19 数据处理方法、装置以及设备 Pending CN117632857A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311762665.1A CN117632857A (zh) 2023-12-19 2023-12-19 数据处理方法、装置以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311762665.1A CN117632857A (zh) 2023-12-19 2023-12-19 数据处理方法、装置以及设备

Publications (1)

Publication Number Publication Date
CN117632857A true CN117632857A (zh) 2024-03-01

Family

ID=90030588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311762665.1A Pending CN117632857A (zh) 2023-12-19 2023-12-19 数据处理方法、装置以及设备

Country Status (1)

Country Link
CN (1) CN117632857A (zh)

Similar Documents

Publication Publication Date Title
CN107077416B (zh) 用于以选择性舍入模式进行向量处理的装置和方法
US9804823B2 (en) Shift significand of decimal floating point data
CN112162723B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
JP6162203B2 (ja) 命令に応じた丸め処理の実行
US8190664B2 (en) Employing a mask field of an instruction to encode a sign of a result of the instruction
TWI383595B (zh) 用於低密度奇偶校驗解碼器之有效校驗節點訊息轉換近似
US20070050436A1 (en) Order-preserving encoding formats of floating-point decimal numbers for efficient value comparison
CN104040484A (zh) 浮点缩放处理器、方法、系统和指令
Rajaraman IEEE standard for floating point numbers
US20120259906A1 (en) Arithmetic circuit, arithmetic processing apparatus and method of controlling arithmetic circuit
US7219117B2 (en) Methods and systems for computing floating-point intervals
CN111310909B (zh) 一种浮点数转换电路
CN117632857A (zh) 数据处理方法、装置以及设备
CN113625990B (zh) 浮点转定点装置、方法、电子设备及存储介质
US7236999B2 (en) Methods and systems for computing the quotient of floating-point intervals
US5822233A (en) Digital arithmetic calculator and digital computer using non-redundant (2N+1) notation system with a radix of (2N+1)
US7831652B2 (en) Floating point multiplier with embedded status information
CN117632854B (zh) 数据处理方法、装置以及设备
US7363337B2 (en) Floating point divider with embedded status information
CN117075842B (zh) 十进制加法器及十进制运算方法
US20240045653A1 (en) Method and Apparatus for Converting to Enhanced Block Floating Point Format
US7136891B2 (en) Arithmetic and relational operations
US20240036822A1 (en) Enhanced Block Floating Point Number Multiplier
US20240036821A1 (en) Floating-point number decoder
US20240036824A1 (en) Methods and systems employing enhanced block floating point numbers

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