浮点数的编码与译码的方法与装置制造方法及图纸

技术编号:35053358 阅读:18 留言:0更新日期:2022-09-28 10:57
本发明专利技术提供一种浮点数的编码与译码的方法与装置。浮点数的编码方法用以将至少一个原浮点数转换为至少一个已编码浮点数。编码方法包括:依据至少一个原浮点数的至少一个原指数值,决定至少一个已编码浮点数的指数位数量以及计算指数偏移值;以及依据指数偏移值,将至少一个原浮点数中的一个目前原浮点数的原指数值转换为至少一个已编码浮点数中的一个目前已编码浮点数的已编码指数值。前已编码浮点数的已编码指数值。前已编码浮点数的已编码指数值。

【技术实现步骤摘要】
浮点数的编码与译码的方法与装置


[0001]本专利技术涉及一种浮点数的编码与译码的方法与装置。

技术介绍

[0002]浮点(floating point,FP)数是一种实数的近似值数值表现法。在IEEE二进制浮点数算术标准(例如IEEE 754)中,规范了浮点数包括三个域:“符号(sign)”、“指数(exponent)”以及“尾数(fraction)”。“符号”可以表示浮点数的正负号,“指数”可以表示浮点数的次方数(以二为基底),以及“尾数”可以表示浮点数的小数(在正规化形式的浮点数的整数部分被预设为1,在非正规化形式的浮点数的整数部分被预设为0)。IEEE二进制浮点数算术标准使用固定的“指数偏移值”(exponent bias)。指数偏移值固定为“127”。浮点数的指数值加上127(固定的指数偏移值)即为实数的指数值。例如,以IEEE 754所规范的32位(bit)单精度(single

precision)浮点数为例,其符号、指数及尾数的位数量分别为1、8、23位。假设浮点数的符号值为s,浮点数的指数值为exp,浮点数的尾数值为f,则实数为(

1)
s
*2
(exp

127)
*1.f。IEEE754所规范的浮点数的指数范围为0~255,而浮点数所表示的实数的指数范围为

126~127。
[0003]然则,在实际应用中,一群实数(浮点数)的指数值可能会集中在某个狭窄范围。例如,假设一群实数的指数是在

10~

3之间,则所对应的浮点数的指数是在117~124之间。很明显地,这一群实数仅使用了浮点数所能表示的指数范围

126~127中的极小部分,造成浮点数存储空间的浪费。

技术实现思路

[0004]本专利技术提供一种浮点数的编码与译码的方法与装置,可以对浮点数进行编码/译码,以有效减少浮点数的数据量。
[0005]在本专利技术的实施例中,所述浮点数的编码方法用以将至少一个原浮点数转换为至少一个已编码浮点数。编码方法包括:依据至少一个原浮点数的至少一个原指数值,决定至少一个已编码浮点数的指数位数量以及计算指数偏移值;以及依据指数偏移值,将至少一个原浮点数中的一个目前原浮点数的原指数值转换为至少一个已编码浮点数中的一个目前已编码浮点数的已编码指数值。
[0006]在本专利技术的实施例中,所述浮点数的编码装置包括运算电路、存储单元以及转换电路。运算电路产生至少一个原浮点数。转换电路耦接至运算电路以接收至少一个原浮点数。转换电路依据至少一个原浮点数的至少一个原指数值去决定至少一个已编码浮点数的指数位数量以及计算指数偏移值。转换电路依据指数偏移值将至少一个原浮点数中的一个目前原浮点数的原指数值转换为至少一个已编码浮点数中的一个目前已编码浮点数的已编码指数值。转换电路将至少一个已编码浮点数存储至存储单元。
[0007]在本专利技术的实施例中,所述浮点数的译码方法用以将至少一个已编码浮点数转换为至少一个译码浮点数。解码方法包括:接收至少一个已编码浮点数所对应的指数偏移值;
依据指数偏移值与标准偏移值,将至少一个已编码浮点数中的一个目前已编码浮点数的已编码指数值转换为至少一个译码浮点数中的一个目前译码浮点数的译码指数值。
[0008]在本专利技术的实施例中,所述浮点数的译码装置包括存储单元、运算电路以及转换电路。存储单元被配置为存储至少一个已编码浮点数以及至少一个已编码浮点数所对应的指数偏移值。转换电路耦接至存储单元以接收至少一个已编码浮点数与指数偏移值。转换电路依据指数偏移值与标准偏移值将至少一个已编码浮点数中的一个目前已编码浮点数的已编码指数值转换为至少一个译码浮点数中的一个目前译码浮点数的译码指数值。转换电路将至少一个译码浮点数提供给运算电路。
[0009]基于上述,本专利技术诸实施例提供一种浮点数的压缩与解压缩技术。所述的浮点数的编码方法可以依据原浮点数的原指数值来动态调整指数位数量及指数偏移值,并依据指数位数量及指数偏移值将原浮点数转换为已编码浮点数。已编码浮点数的指数位数量相关于原浮点数的指数范围。如此一来,可以依据原浮点数的实际指数范围去动态改变浮点数的数据结构,以有效压缩浮点数的数据量,进而节省浮点数存储空间。另一方面,所述的浮点数的译码方法可以依据标准偏移值与已编码浮点数所对应的指数偏移值,来将已编码浮点数的已编码指数值转换回译码浮点数的译码指数值,进而可以将已编码浮点数转换为译码浮点数。如此一来,依据实际的应用需求,编码后的浮点数(经压缩浮点数)的数据结构可以被译码回标准的浮点数的数据结构。
附图说明
[0010]图1是依照本专利技术一实施例的一种浮点数的编码装置的电路方块(circuit block)示意图。
[0011]图2绘示本专利技术一实施例的浮点数的编码方法的流程示意图。
[0012]图3是依照本专利技术一实施例的一种浮点数的译码装置的电路方块示意图。
[0013]图4绘示本专利技术一实施例的浮点数的译码方法的流程示意图。
[0014]附图标记说明
[0015]100:浮点数的编码装置
[0016]110、330:运算电路
[0017]120、320:转换电路
[0018]130、310:存储单元
[0019]300:浮点数的译码装置
[0020]exp_b3:指数偏移值
[0021]FP1:原浮点数
[0022]FP2、FP3:已编码浮点数
[0023]FP4:解码浮点数
[0024]S210、S220、S410、S420:步骤
具体实施方式
[0025]现将详细地参考本专利技术的示范性实施例,示范性实施例的示例说明于附图中。只要有可能,相同元件附图标记在附图和描述中用来表示相同或相似部分。
[0026]在本案说明书全文(包括权利要求)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以透过其他装置或某种连接手段而间接地连接至该第二装置。本案说明书全文(包括权利要求)中提及的“第一”、“第二”等用语是用以命名组件(element)的名称,或区别不同实施例或范围,而并非用来限制组件数量的上限或下限,亦非用来限制组件的次序。另外,凡可能之处,在附图及实施方式中使用相同附图标记的组件/构件/步骤代表相同或类似部分。不同实施例中使用相同附图标记或使用相同用语的组件/构件/步骤可以相互参照相关说明。
[0027]图1是依照本专利技术一实施例的一种浮点数的编码装置100的电路方块(circuit block)示意图。于图1所示实施例中,编码装置100包括运算电路110、转换电路120以及存储单元130。依照实际设计,运算电路110可以进行任何应用运算,例如神经网络(N本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种浮点数的编码方法,以将至少一个原浮点数转换为至少一个已编码浮点数,其特征在于,所述编码方法包括:依据所述至少一个原浮点数的至少一个原指数值,决定所述至少一个已编码浮点数的指数位数量以及计算指数偏移值;以及依据所述指数偏移值,将所述至少一个原浮点数中的目前原浮点数的原指数值转换为所述至少一个已编码浮点数中的目前已编码浮点数的已编码指数值。2.根据权利要求1所述的编码方法,其特征在于,所述编码方法更包括:使用所述目前原浮点数的符号值作为所述目前已编码浮点数的符号值。3.根据权利要求1所述的编码方法,其特征在于,所述至少一个原浮点数包括多个原浮点数,所述编码方法更包括:当所述多个原浮点数的每一个的符号值都为共同符号值时,在将所述多个原浮点数转换为所述至少一个已编码浮点数的过程中舍弃所述多个原浮点数的每一个的所述符号值。4.根据权利要求3所述的编码方法,其特征在于,所述编码方法更包括:将所述共同符号值存入符号值缓存器。5.根据权利要求1所述的编码方法,其特征在于,所述编码方法更包括:使用所述目前原浮点数的尾数值作为所述目前已编码浮点数的尾数值。6.根据权利要求5所述的编码方法,其特征在于,所述编码方法更包括:使用所述目前已编码浮点数的总位数量去扣除符号字段与指数字段后的剩余位数量去记录所述目前已编码浮点数的所述尾数值。7.根据权利要求6所述的编码方法,其特征在于,所述编码方法更包括:当所述尾数值的位数量大于所述剩余位数量时,舍去或舍入所述尾数值的剩余部份。8.根据权利要求1所述的编码方法,其特征在于,所述至少一个原浮点数包括多个原浮点数,所述编码方法更包括:统计所述多个原浮点数的所述多个原指数值,以获得所述多个原指数值的数值范围;以及依据所述数值范围决定所述至少一个已编码浮点数的所述指数位数量。9.根据权利要求8所述的编码方法,其特征在于,所述编码方法更包括:从所述多个原指数值中选择一者作为第一代表值;从所述至少一个已编码浮点数的所述指数位数量的值域中选择所述第一代表值所对应的一个值作为第二代表值;以及使用所述第一代表值与所述第二代表值去计算所述指数偏移值。10.根据权利要求9所述的编码方法,其特征在于,所述第一代表值为所述多个原指数值中的最大原指数值,以及所述第二代表值为所述至少一个已编码浮点数的所述指数位数量的所述值域中的最大值。11.一种浮点数的编码装置,其特征在于,所述编码装置包括:运算电路,产生至少一个原浮点数;存储单元;以及转换电路,耦接至所述运算电路以接收所述至少一个原浮点数,其中所述转换电路依据所述至少一个原浮点数的至少一个原指数值去决定至少一个已编码浮点数的指数位数
量以及计算指数偏移值,并且所述转换电路依据所述指数偏移值将所述至少一个原浮点数中的目前原浮点数的原指数值转换为所述至少一个已编码浮点数中的目前已编码浮点数的已编码指数值,以及所述转换电路将所述至少一个已编码浮点数存储至所述存储单元。12.根据权利要求11所述的编码装置,其特征在于,所述转换电路使用所述目前原浮点数的符号值作为所述目前已编码浮点数的符号值。13.根据权利要求11所述的编码装置,其特征在于,所述至少一个原浮点数包括多个原浮点数,以及当所述多个原浮点数的每一个的符号值都为共同符号值时,所述转换电路在将所述多个原浮点数转换为所述至少一个已编码浮点数的过程中舍弃所述多个原浮点数的每一个的所述符号值。14.根据权利要求13所述的编码装置,其特征在于,所述转换电路将所述共同符号值存入符号值缓存器。15.根据权利要求11所述的编码装置,其特征在于,所述转换电路使用所述目前原浮点数的尾数值作为所述目前已编码浮点数的尾数值。16.根据权利要求15所述的编码装置,其特征在于,所述转换电路使用所述目前已编码浮点数的总位数量去扣除符号字段与指数字段后的剩余位数量去记录所述目前已编码浮点数的所述尾数值。17.根据权利要求16所述的编码装置,其特征在于,当所述尾数值的位数量大于所述剩余位数量时,所述转换电路舍去或舍入所述尾数值的剩余部份。18.根据权利要求11所述的编码装置,其特征在于,所述至少一个原浮点数包括多个原浮点数,所述转换电路统计所述多个原浮点数的所述多个原指数值以获得所述多个原指数值的数值范围,以及所述转换电路依据所述数值范围决定所述至少一个已编码浮点数的所述指数位数量。19.根据权利要求18所...

【专利技术属性】
技术研发人员:黄俊达黄程威陈廷玮林泂良
申请(专利权)人:创鑫智慧股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1