浮点数转换方法及装置.pdf
《浮点数转换方法及装置.pdf》由会员分享,可在线阅读,更多相关《浮点数转换方法及装置.pdf(19页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010111088.X (22)申请日 2020.02.24 (71)申请人 南京大学 地址 210023 江苏省南京市栖霞区仙林大 道163号 (72)发明人 王中风徐铭阳方超林军 (74)专利代理机构 北京弘权知识产权代理事务 所(普通合伙) 11363 代理人 逯长明许伟群 (51)Int.Cl. H03M 7/24(2006.01) (54)发明名称 一种浮点数转换方法及装置 (57)摘要 本发明公开了一种浮点数转换方法及装置, 能够将基于IEEE754规范的单精度。
2、浮点数转换 为posit数据格式的浮点数, 即第二浮点数。 在很 多神经网络的训练过程中, 其运算数据近似服从 正态分布, 可通过变换使数据集中在0附近, 而本 发明中的posit数据格式的浮点数在神经网络训 练过程中就可以在0附近保证精度, 并且, 本发明 中posit数据格式的浮点数的预设总位宽是可以 调控的, 因此又可以很大程度的减少数据位宽, 进而减少存储所需要的资源以及读写过程所消 耗的资源, 提高神经网络训练的效率。 权利要求书4页 说明书12页 附图2页 CN 111313905 A 2020.06.19 CN 111313905 A 1.一种浮点数转换方法, 其特征在于, 包括。
3、: 分别获取第一浮点数中第一符号段的值、 第一指数段的值和第一尾数段的值, 所述第 一浮点数为规格化数据格式的单精度浮点数; 利用所述第一指数段的值和预设指数位宽, 确定组织段的值和第二指数段的值; 利用所述第一符号段的值和所述第一尾数段的值, 分别确定第二符号段的值和第二尾 数段的值; 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数段的 值以二进制码的形式按照预设总位宽组成第二浮点数。 2.根据权利要求1所述的方法, 其特征在于, 利用所述第一指数段的值和预设指数位 宽, 确定组织段的值和第二指数段的值的步骤包括: 利用所述第一指数段的值和所述预设指数位宽, 确定。
4、所述组织段的值; 利用所述第一指数段的值、 所述预设指数位宽和所述组织段的值, 确定所述第二指数 段的值。 3.根据权利要求2所述的方法, 其特征在于, 采用如下公式, 利用所述第一指数段的值 和所述预设指数位宽, 确定所述组织段的值: rE/2es, 其中, r表示组织段的值, 并且, 当r为非整数时, r值向下取整; E表示第一指数段的值, es表示预设指数位宽。 4.根据权利要求3所述的方法, 其特征在于, 采用如下公式, 利用所述第一指数段的值、 所述预设指数位宽和所述组织段的值, 确定所述第二指数段的值: eE-2es*r, 其中, e表示第二指数段的值。 5.根据权利要求1所述的方。
5、法, 其特征在于, 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二 浮点数的步骤包括: 利用所述组织段的值, 确定所述组织段的值对应的二进制码; 利用所述第二指数段的值和所述预设指数位宽, 确定所述第二指数段的值对应的二进 制码; 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数段的 值以二进制码的形式按照预设总位宽组成第二浮点数。 6.根据权利要求5所述的方法, 其特征在于, 利用所述组织段的值, 确定所述组织段的 值对应的二进制码的步骤包括: 如果所述组织段的值大于或者等于0, 则确定所述组织。
6、段的值对应的二进制码由r+1个 1和1个0组成, 其中, r表示组织段的值; 如果所述组织段的值小于0, 则确定所述组织段的值对应的二进制码由-r个0和1个1组 成。 7.根据权利要求1-6任一项所述的方法, 其特征在于, 所述将所述第二符号段的值、 所 述组织段的值、 所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总 位宽组成第二浮点数的步骤还包括: 权利要求书 1/4 页 2 CN 111313905 A 2 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数段的 值对应的二进制码依次拼接, 组成拼接数; 如果所述拼接数的总位宽大于所述预设总位宽, 。
7、则依次从所述拼接数的尾端截取二进 制码, 使得截取后的所述拼接数的总位宽等于所述预设总位宽。 8.根据权利要求6所述的方法, 其特征在于, 所述利用所述组织段的值, 确定所述组织 段的值对应的二进制码之后, 还包括: 如果组织段的位宽等于所述预设总位宽, 则舍去所述组织段的值对应的二进制码中最 后一位二进制码, 使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位宽。 9.根据权利要求5所述的方法, 其特征在于, 利用所述第二指数段的值和所述预设指数 位宽, 确定所述第二指数段的值对应的二进制码之后, 还包括: 如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于或 者。
8、等于预设指数位宽, 则将所述第二指数段的值对应的二进制码置于组织段的值对应的二 进制码之后; 如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小于预 设指数位宽, 则截取所述第二指数段的值对应的二进制码, 使得第二符号段、 组织段和第二 指数段的总位宽等于预设总位宽; 如果所述预设总位宽等于第二符号段的位宽加组织段的位宽之和, 则将所述第二指数 段的值全部舍去。 10.根据权利要求1所述的方法, 其特征在于, 利用所述第一符号段的值和所述第一尾 数段的值, 分别确定第二符号段的值和第二尾数段的值之后, 还包括: 如果所述预设总位宽减去第二符号段的位宽、 组织段的位宽和第二指数。
9、段的位宽后剩 余的位宽值大于0, 则截取所述第二尾数段的值对应的二进制码置于所述第二指数段的值 对应的二进制码之后, 使得第二符号段、 组织段、 第二指数段和第二尾数段剩余部分的总位 宽等于预设总位宽; 如果所述预设总位宽减去第二符号段的位宽、 组织段的位宽和第二指数段的位宽后剩 余的位宽值等于或者小于0, 则舍去所述第二尾数段的值。 11.一种浮点数转换装置, 其特征在于, 包括: 数据获取模块, 用于分别获取第一浮点数中第一符号段的值、 第一指数段的值和第一 尾数段的值, 所述第一浮点数为规格化数据格式的单精度浮点数; 第一数据确定模块, 用于利用所述第一指数段的值和预设指数位宽, 确定组。
10、织段的值 和第二指数段的值; 第二数据确定模块, 用于利用所述第一符号段的值和所述第一尾数段的值, 分别确定 第二符号段的值和第二尾数段的值; 第二浮点数生成模块, 用于将所述第二符号段的值、 所述组织段的值、 所述第二指数段 的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。 12.根据权利要求11所述的装置, 其特征在于, 所述第一数据确定模块还包括: 第一数据确定单元, 用于利用所述第一指数段的值和所述预设指数位宽, 确定所述组 织段的值; 第二数据确定单元, 用于利用所述第一指数段的值、 所述预设指数位宽和所述组织段 权利要求书 2/4 页 3 CN 1113139。
11、05 A 3 的值, 确定所述第二指数段的值。 13.根据权利要求12所述的装置, 其特征在于, 所述第一数据确定单元, 采用如下公式, 利用所述第一指数段的值和所述预设指数位宽, 确定所述组织段的值: rE/2es, 其中, r表示组织段的值, 并且, 当r为非整数时, r值向下取整; E表示第一指数段的值, es表示预设指数位宽。 14.根据权利要求13所述的装置, 其特征在于, 所述第二数据确定单元, 采用如下公式, 利用所述第一指数段的值、 所述预设指数位宽和所述组织段的值, 确定所述第二指数段的 值: eE-2es*r, 其中, e表示第二指数段的值。 15.根据权利要求11所述的装。
12、置, 其特征在于, 所述第二浮点数生成模块包括: 第一码值确定单元, 用于利用所述组织段的值, 确定所述组织段的值对应的二进制码; 第二码值确定单元, 用于利用所述第二指数段的值和所述预设指数位宽, 确定所述第 二指数段的值对应的二进制码; 第二浮点数生成单元, 用于将所述第二符号段的值、 所述组织段的值、 所述第二指数段 的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。 16.根据权利要求15所述的装置, 其特征在于, 所述第一码值确定单元还用于: 在所述组织段的值大于或者等于0时, 确定所述组织段的值对应的二进制码由r+1个1 和1个0组成, 其中, r表示组织段的值。
13、; 在所述组织段的值小于0, 确定所述组织段的值对应的二进制码由-r个0和1个1组成。 17.根据权利要求11-16任一项所述的装置, 其特征在于, 所述第二浮点数生成模块还 用于: 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数段的 值对应的二进制码依次拼接, 组成拼接数; 在所述拼接数的总位宽大于所述预设总位宽时, 依次从所述拼接数的尾端截取二进制 码, 使得截取后的所述拼接数的总位宽等于所述预设总位宽。 18.根据权利要求16所述的装置, 其特征在于, 所述装置还包括: 第一位宽确定模块, 用于在组织段的位宽等于所述预设总位宽时, 舍去所述组织段的 值对应的二。
14、进制码中最后一位二进制码, 使得第二符号段的位宽与所述组织段的位宽之和 等于所述预设总位宽。 19.根据权利要求15所述的装置, 其特征在于, 所述装置还包括: 第二位宽确定模块, 用于在所述预设总位宽减去第二符号段的位宽和组织段的位宽后 剩余的位宽值大于或者等于预设指数位宽时, 将所述第二指数段的值对应的二进制码置于 组织段的值对应的二进制码之后; 在所述预设总位宽减去第二符号段的位宽和组织段的位 宽后剩余的位宽值小于预设指数位宽时, 截取所述第二指数段的值对应的二进制码, 使得 第二符号段、 组织段和第二指数段的总位宽等于预设总位宽; 在所述预设总位宽等于第二 符号段的位宽加组织段的位宽之。
15、和时, 将所述第二指数段的值全部舍去。 20.根据权利要求11所述的装置, 其特征在于, 所述装置还包括: 权利要求书 3/4 页 4 CN 111313905 A 4 第三位宽确定模块, 用于在所述预设总位宽减去第二符号段的位宽、 组织段的位宽和 第二指数段的位宽后剩余的位宽值大于0时, 截取所述第二尾数段的值对应的二进制码置 于所述第二指数段的值对应的二进制码之后, 使得第二符号段、 组织段、 第二指数段和第二 尾数段剩余部分的总位宽等于预设总位宽; 在所述预设总位宽减去第二符号段的位宽、 组 织段的位宽和第二指数段的位宽后剩余的位宽值等于或者小于0时, 舍去所述第二尾数段 的值。 权利要。
16、求书 4/4 页 5 CN 111313905 A 5 一种浮点数转换方法及装置 技术领域 0001 本发明涉及计算机技术领域, 尤其涉及一种浮点数转换方法及装置。 背景技术 0002 神经网络一种模仿动物神经网络行为特征, 进行分布式并行信息处理的算法数学 模型。 这种网络依靠系统的复杂程度, 通过调整内部大量节点之间相互连接的关系, 从而达 到处理信息的目的。 近年来, 随着深度学习技术的快速发展, 神经网络的训练变得普遍并且 重要, 神经网络训练的速度和资源消耗也成为了对于深度学习评价的重要指标。 0003 在以往的神经网络训练过程中, 大部分的浮点数使用的都是基于IEEE 754规范的。
17、 规格化单精度浮点数格式, 这种数据格式通常包括符号段、 指数段和尾数段, 并且通常使用 32位的位宽来表示, 即符号段、 指数段和尾数段的总位宽为32位。 这种单精度浮点数可以表 示一个很大范围的数值, 同时也能满足神经网络训练的要求。 0004 但是, 虽然上述这种基于IEEE 754规范的单精度浮点数在精度上能够满足神经网 络训练的要求, 但是由于其位宽较长, 在处理这种数据时需要耗费一定的时间并且消耗一 定的资源, 进而影响神经网络的训练速度, 使神经网络训练的效率降低。 发明内容 0005 本发明提供了一种浮点数转换方法及装置, 以解决目前使用基于IEEE 754规范的 单精度浮点数。
18、造成的神经网络训练的效率低的问题。 0006 第一方面, 本发明提供了一种浮点数转换方法, 包括: 0007 分别获取第一浮点数中第一符号段的值、 第一指数段的值和第一尾数段的值, 所 述第一浮点数为规格化数据格式的单精度浮点数; 0008 利用所述第一指数段的值和预设指数位宽, 确定组织段的值和第二指数段的值; 0009 利用所述第一符号段的值和所述第一尾数段的值, 分别确定第二符号段的值和第 二尾数段的值; 0010 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数 段的值以二进制码的形式按照预设总位宽组成第二浮点数。 0011 结合第一方面, 在第一方面的一种可。
19、实现方式中, 利用所述第一指数段的值和预 设指数位宽, 确定组织段的值和第二指数段的值的步骤包括: 0012 利用所述第一指数段的值和所述预设指数位宽, 确定所述组织段的值; 0013 利用所述第一指数段的值、 所述预设指数位宽和所述组织段的值, 确定所述第二 指数段的值。 0014 结合第一方面, 在第一方面的一种可实现方式中, 采用如下公式, 利用所述第一指 数段的值和所述预设指数位宽, 确定所述组织段的值: 0015 rE/2es, 0016 其中, r表示组织段的值, 并且, 当r为非整数时, r值向下取整; E表示第一指数段的 说明书 1/12 页 6 CN 111313905 A 。
20、6 值, es表示预设指数位宽。 0017 结合第一方面, 在第一方面的一种可实现方式中, 采用如下公式, 利用所述第一指 数段的值、 所述预设指数位宽和所述组织段的值, 确定所述第二指数段的值: 0018 eE-2es*r, 0019 其中, e表示第二指数段的值。 0020 结合第一方面, 在第一方面的一种可实现方式中, 将所述第二符号段的值、 所述组 织段的值、 所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽 组成第二浮点数的步骤包括: 0021 利用所述组织段的值, 确定所述组织段的值对应的二进制码; 0022 利用所述第二指数段的值和所述预设指数位宽, 确定所述。
21、第二指数段的值对应的 二进制码; 0023 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数 段的值以二进制码的形式按照预设总位宽组成第二浮点数。 0024 结合第一方面, 在第一方面的一种可实现方式中, 利用所述组织段的值, 确定所述 组织段的值对应的二进制码的步骤包括: 0025 如果所述组织段的值大于或者等于0, 则确定所述组织段的值对应的二进制码由r +1个1和1个0组成, 其中, r表示组织段的值; 0026 如果所述组织段的值小于0, 则确定所述组织段的值对应的二进制码由-r个0和1 个1组成。 0027 结合第一方面, 在第一方面的一种可实现方式中, 所。
22、述将所述第二符号段的值、 所 述组织段的值、 所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总 位宽组成第二浮点数的步骤还包括: 0028 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数 段的值对应的二进制码依次拼接, 组成拼接数; 0029 如果所述拼接数的总位宽大于所述预设总位宽, 则依次从所述拼接数的尾端截取 二进制码, 使得截取后的所述拼接数的总位宽等于所述预设总位宽。 0030 结合第一方面, 在第一方面的一种可实现方式中, 所述利用所述组织段的值, 确定 所述组织段的值对应的二进制码之后, 还包括: 0031 如果组织段的位宽等于所述预设。
23、总位宽, 则舍去所述组织段的值对应的二进制码 中最后一位二进制码, 使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位 宽。 0032 结合第一方面, 在第一方面的一种可实现方式中, 利用所述第二指数段的值和所 述预设指数位宽, 确定所述第二指数段的值对应的二进制码之后, 还包括: 0033 如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大 于或者等于预设指数位宽, 则将所述第二指数段的值对应的二进制码置于组织段的值对应 的二进制码之后; 0034 如果所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值小 于预设指数位宽, 则截取所述第二指数段的值对应的。
24、二进制码, 使得第二符号段、 组织段和 第二指数段的总位宽等于预设总位宽; 说明书 2/12 页 7 CN 111313905 A 7 0035 如果所述预设总位宽等于第二符号段的位宽加组织段的位宽之和, 则将所述第二 指数段的值全部舍去。 0036 结合第一方面, 在第一方面的一种可实现方式中, 利用所述第一符号段的值和所 述第一尾数段的值, 分别确定第二符号段的值和第二尾数段的值之后, 还包括: 0037 如果所述预设总位宽减去第二符号段的位宽、 组织段的位宽和第二指数段的位宽 后剩余的位宽值大于0, 则截取所述第二尾数段的值对应的二进制码置于所述第二指数段 的值对应的二进制码之后, 使得。
25、第二符号段、 组织段、 第二指数段和第二尾数段剩余部分的 总位宽等于预设总位宽; 0038 如果所述预设总位宽减去第二符号段的位宽、 组织段的位宽和第二指数段的位宽 后剩余的位宽值等于或者小于0, 则舍去所述第二尾数段的值。 0039 第二方面, 本发明实施例提供了一种浮点数转换装置, 包括: 0040 数据获取模块, 用于分别获取第一浮点数中第一符号段的值、 第一指数段的值和 第一尾数段的值, 所述第一浮点数为规格化数据格式的单精度浮点数; 0041 第一数据确定模块, 用于利用所述第一指数段的值和预设指数位宽, 确定组织段 的值和第二指数段的值; 0042 第二数据确定模块, 用于利用所述。
26、第一符号段的值和所述第一尾数段的值, 分别 确定第二符号段的值和第二尾数段的值; 0043 第二浮点数生成模块, 用于将所述第二符号段的值、 所述组织段的值、 所述第二指 数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。 0044 结合第二方面, 在第二方面的一种可实现方式中, 所述第一数据确定模块还包括: 0045 第一数据确定单元, 用于利用所述第一指数段的值和所述预设指数位宽, 确定所 述组织段的值; 0046 第二数据确定单元, 用于利用所述第一指数段的值、 所述预设指数位宽和所述组 织段的值, 确定所述第二指数段的值。 0047 结合第二方面, 在第二方面的。
27、一种可实现方式中, 所述第一数据确定单元, 采用如 下公式, 利用所述第一指数段的值和所述预设指数位宽, 确定所述组织段的值: 0048 rE/2es, 0049 其中, r表示组织段的值, 并且, 当r为非整数时, r值向下取整; E表示第一指数段的 值, es表示预设指数位宽。 0050 结合第二方面, 在第二方面的一种可实现方式中, 所述第二数据确定单元, 采用如 下公式, 利用所述第一指数段的值、 所述预设指数位宽和所述组织段的值, 确定所述第二指 数段的值: 0051 eE-2es*r, 0052 其中, e表示第二指数段的值。 0053 结合第二方面, 在第二方面的一种可实现方式中。
28、, 所述第二浮点数生成模块包括: 0054 第一码值确定单元, 用于利用所述组织段的值, 确定所述组织段的值对应的二进 制码; 0055 第二码值确定单元, 用于利用所述第二指数段的值和所述预设指数位宽, 确定所 述第二指数段的值对应的二进制码; 说明书 3/12 页 8 CN 111313905 A 8 0056 第二浮点数生成单元, 用于将所述第二符号段的值、 所述组织段的值、 所述第二指 数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。 0057 结合第二方面, 在第二方面的一种可实现方式中, 所述第一码值确定单元还用于: 0058 在所述组织段的值大于或者等于。
29、0时, 确定所述组织段的值对应的二进制码由r+1 个1和1个0组成, 其中, r表示组织段的值; 0059 在所述组织段的值小于0, 确定所述组织段的值对应的二进制码由-r个0和1个1组 成。 0060 结合第二方面, 在第二方面的一种可实现方式中, 所述第二浮点数生成模块还用 于: 0061 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数 段的值对应的二进制码依次拼接, 组成拼接数; 0062 在所述拼接数的总位宽大于所述预设总位宽时, 依次从所述拼接数的尾端截取二 进制码, 使得截取后的所述拼接数的总位宽等于所述预设总位宽。 0063 结合第二方面, 在第二方面。
30、的一种可实现方式中, 所述装置还包括: 第一位宽确定 模块, 用于在组织段的位宽等于所述预设总位宽时, 舍去所述组织段的值对应的二进制码 中最后一位二进制码, 使得第二符号段的位宽与所述组织段的位宽之和等于所述预设总位 宽。 0064 结合第二方面, 在第二方面的一种可实现方式中, 所述装置还包括: 第二位宽确定 模块, 用于在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值大于 或者等于预设指数位宽时, 将所述第二指数段的值对应的二进制码置于组织段的值对应的 二进制码之后; 在所述预设总位宽减去第二符号段的位宽和组织段的位宽后剩余的位宽值 小于预设指数位宽时, 截取所述第二指数。
31、段的值对应的二进制码, 使得第二符号段、 组织段 和第二指数段的总位宽等于预设总位宽; 在所述预设总位宽等于第二符号段的位宽加组织 段的位宽之和时, 将所述第二指数段的值全部舍去。 0065 结合第二方面, 在第二方面的一种可实现方式中, 所述装置还包括: 第三位宽确定 模块, 用于在所述预设总位宽减去第二符号段的位宽、 组织段的位宽和第二指数段的位宽 后剩余的位宽值大于0时, 截取所述第二尾数段的值对应的二进制码置于所述第二指数段 的值对应的二进制码之后, 使得第二符号段、 组织段、 第二指数段和第二尾数段剩余部分的 总位宽等于预设总位宽; 在所述预设总位宽减去第二符号段的位宽、 组织段的位。
32、宽和第二 指数段的位宽后剩余的位宽值等于或者小于0时, 舍去所述第二尾数段的值。 0066 由以上技术方案可知, 本发明公开了一种浮点数转换方法及装置, 能够将基于 IEEE754规范的单精度浮点数转换为posit数据格式的浮点数, 即第二浮点数。 在很多神经 网络的训练过程中, 其运算数据近似服从正态分布, 可通过变换使数据集中在0附近, 而本 发明中的posit数据格式的浮点数在神经网络训练过程中就可以在0附近保证精度, 并且, 本发明中posit数据格式的浮点数的预设总位宽是可以调控的, 因此又可以很大程度的减 少数据位宽, 进而减少存储所需要的资源以及读写过程所消耗的资源, 提高神经网。
33、络训练 的效率。 说明书 4/12 页 9 CN 111313905 A 9 附图说明 0067 为了更清楚地说明本发明的技术方案, 下面将对实施案例中所需要使用的附图作 简单地介绍, 显而易见地, 对于本领域普通技术人员而言, 在不付出创造性劳动性的前提 下, 还可以根据这些附图获得其他的附图。 0068 图1(a)为本发明提供的基于IEEE 754规范的单精度浮点数具体的数据表示形式 的示意图; 0069 图1(b)为本发明提供的Posit数据格式的浮点数具体的数据表示形式的示意图; 0070 图2本发明实施例一提供的浮点数转换方法的流程图; 0071 图3(a)为本发明实施例中提供的基于。
34、IEEE 754规范的单精度浮点数的数据表示 形式示意图; 0072 图3(b)为本发明实施例中提供的Posit数据格式的浮点数的数据表示形式示意 图; 0073 图4为本发明实施例提供的二进制码表示数据的示意图; 0074 图5为本发明实施例提供的一种浮点数转换装置的结构框图。 具体实施方式 0075 本发明技术方案中的Posit数据格式的参数包括N和es, 其中N为整个数据表示的 总位宽, es为指数段的位宽, 两个参数都是在表示数据前需要确定的。 N可以取任意正整数 值, 例如5、 8等。 图1(a)为本发明提供的基于IEEE 754规范的单精度浮点数具体的数据表示 形式的示意图, 图1。
35、(b)为本发明提供的Posit数据格式的浮点数具体的数据表示形式的示 意图。 如图1所示, Posit数据格式的浮点数与基于IEEE 754规范的单精度浮点数之间区别 在于, 在进行具体的数据表示时, 基于IEEE 754规范的单精度浮点数包括符号段S, 指数段 E1和尾数段F三个部分, 而Posit数据格式的浮点数包括符号段s, 组织段r、 指数段e和尾数 段f四个部分。 0076 本发明公开的浮点数转换方法, 将基于IEEE 754规范的规格化单精度浮点数转换 为上述Posit数据格式的单精度浮点数, 有了这种转换方法, 就可以使得数据存储时, 利用 posit新型浮点数数据格式的低位宽,。
36、 减少存储所需要的资源以及读写过程所消耗的资源, 同时也可以在运算过程中使用基于IEEE 754规范的规格化单精度浮点数格式, 最大程度的 保证了运算时的精度。 具体用一下实施例对本发明公开的浮点数转换方法及进行清楚、 完 整地描述。 0077 实施例一 0078 图2本发明实施例一提供的浮点数转换方法的流程图。 如图2所示, 本发明实施例 提供的一种浮点数转换方法, 包括以下步骤: 0079 S101, 分别获取第一浮点数中第一符号段的值、 第一指数段的值和第一尾数段的 值, 所述第一浮点数为规格化数据格式的单精度浮点数, 即基于IEEE 754规范的规格化单 精度浮点数。 0080 通常,。
37、 对于一个基于IEEE 754规范的规格化单精度浮点数来说, 该浮点数的规格 化单精度浮点数表示形式为: 0081 A(-1)S221-1271.F, 说明书 5/12 页 10 CN 111313905 A 10 0082 其中, E1为规格化单精度浮点数表示式中的指数段的值, A为浮点数的真值, 其中, S表示符号段的值, 只有一位, 当A为正数时, 符号段S的值为0, 当A为负数时, 符号段S的值为 1; F表示尾数段的值, 是将整数部分表示为1后, 小数点后的所有尾数。 0083 而一个浮点数常用的浮点数科学表示形式为: 0084 A(-1)s2E1.F, 0085 其中, E为浮点数。
38、科学表示式中的指数段的值, A为浮点数的真值, 这里的EE1- 127。 0086 在本实施例中, 获取的第一符号段的值、 第一指数段的值和第一尾数段的值实际 上均为上述浮点数科学表示式中的符号段的值S、 指数段的值E和尾数段的值F。 0087 以0.125为例, 表示成二进制是0.001, 在IEEE 754规范下表示为规格化单精度浮 点数时, 其符号段的值S为0, 是一位位宽; 指数段的值E1为124, 将原码表示成二进制8位位 宽; 最后尾数段的值F为0, 在存储表示的时候是23个0, 为23位位宽; 这样最后得到的规格化 单精度浮点数总位宽为32位。 而在浮点数科学表示法中, 得到的符。
39、号段的值和尾数段的值 与上述的S和F相同, 但是指数段的值E需要利用上述E1的值减去127获得, 即E124-127- 3。 0088 本实施例中的第一符号段的值即为上述符号段S对应的值, 第一指数段的值即为 上述指数段E的值, 第一尾数段的值即为上述尾数段F的值。 0089 S102, 利用所述第一指数段的值和预设指数位宽, 确定组织段的值和第二指数段 的值。 0090 本实施例中以es表示预设指数位宽, 预设指数位宽是根据对Posit数据格式的浮 点数的实际需求选择的, 例如2、 3、 4等等; 组织段的值用r表示, 第二指数段的值用e表示。 本 实施例中可以根据E和es的值, 分别计算出。
40、r的值和e的值, 此时, 就获得了第二浮点数表示 式中的组织段的值和第二指数段的值。 0091 S103, 利用所述第一符号段的值和所述第一尾数段的值, 分别确定第二符号段的 值和第二尾数段的值。 0092 本实施例中直接将所述第一符号段的值作为第二符号段的值, 将所述第一尾数段 的值作为第二尾数段的值, 即将S的值赋予s, 将F的值赋予f。 此时, 就获得了第二浮点数科 学表示式中的第二符号段的值和第二尾数段的值。 0093 S104, 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二 尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。 0094 本实施例中最终获。
41、得的第二浮点数需要采用图1(b)中的形式展示, 但是这种展示 方式要求展示的数据均为二进制码的形式, 那么在获得了用于表示第二浮点数的第二符号 段的值、 组织段的值、 第二指数段的值和第二尾数段的值之后, 还要将各个值分别以二进制 码的形式表示, 并且依次排列组成第二浮点数, 并且最右端表示低位, 最左端表示高位。 本 实施例中的第二浮点数整体的位宽不能超过预设总位宽, 如果超过, 则需要依次从排列后 的第二浮点数的低位截取一定位数的二进制码, 将第二浮点数整体的位宽保持与预设总位 宽相同。 0095 本实施例中, 对于一个Posit数据格式的浮点数来说, 该浮点数与其真值A的关系 为: 说明。
42、书 6/12 页 11 CN 111313905 A 11 0096 0097 可见, 本实施例中的浮点数转换方法中, 能够将基于IEEE 754规范的单精度浮点 数转换为posit数据格式的浮点数, posit数据格式的浮点数的低位宽特性, 能够减少存储 资源以及读写过程所消耗的资源, 保证神经网络训练的效率。 0098 实施例二 0099 本发明实施例二提供的一种浮点数转换方法中, 在上述实施例一的基础上, 利用 所述第一指数段的值和预设指数位宽, 确定组织段的值和第二指数段的值的步骤具体可以 包括: 0100 S201, 利用所述第一指数段的值和所述预设指数位宽, 确定所述组织段的值。 。
43、0101 具体的, 本实施例中采用如下公式, 确定所述组织段的值: 0102 rE/2es, 0103 其中, r表示组织段的值, 并且, 当r为非整数时, r值向下取整; E表示第一指数段的 值, es表示预设指数位宽。 0104 以真值为0.125的数为例, 以浮点数科学表示形式表示, 其第一符号段值S为0, 第 一指数段值E为-3, 第一尾数段值F为0。 如果预设指数位宽es为2, 那么可以求得第二浮点数 中的组织段的值r-3/4, 由于r为非整数, 向下取整后r的值为-1。 0105 S202, 利用所述第一指数段的值、 所述预设指数位宽和所述组织段的值, 确定所述 第二指数段的值。 。
44、0106 具体的, 本实施例中采用如下公式, 确定所述第二指数段的值: 0107 eE-2es*r, 0108 其中, e表示第二指数段的值。 0109 对于真值为0.125的数来说, 第一指数段值E为-3, 预设指数位宽es为2, 组织段的 值r为-1, 那么可以求得0.125对应的第二浮点数中第二指数段的值为e-3-22*(-1)1。 0110 图3(a)为本发明实施例中提供的基于IEEE 754规范的单精度浮点数的数据表示 形式示意图, 图3(b)为本发明实施例中提供的Posit数据格式的浮点数的数据表示形式示 意图。 如图3(a)所示, 对于真值为0.125的数来说, 其以浮点数科学表。
45、示形式表示, S为0, E 为-3, F为0。 如图3(b)所示, 该真值为0.125的数对应的Posit数据格式的浮点数的第二符号 段的值s为0, 组织段的值r为-1, 第二指数段的值e为1, 第二尾数段值f为0。 0111 可见, 本实施例中可通过具体的计算方式将基于IEEE 754规范的单精度浮点数的 各个参数分别转化成Posit数据格式的浮点数的参数, 使得Posit数据格式的浮点数的获得 更加快速便捷。 0112 实施例三 0113 本发明实施例三提供的一种浮点数转换方法中, 在上述实施例的基础上, 将所述 第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数段的值以。
46、二进制 码的形式按照预设总位宽组成第二浮点数的步骤具体包括: 0114 S301, 利用所述组织段的值, 确定所述组织段的值对应的二进制码。 0115 对于Posit数据格式的浮点数, 其组织段r的值是浮动的。 在数据表示中, 组织段r 的编码有两种表示形式: 一种是连续的1以及后续的一个0, 如1110; 另一种是连续的0以 及后续的一个1, 如0001。 对于组织段的真实取值r, 如果组织段是连续的a个1加1个0, 说明书 7/12 页 12 CN 111313905 A 12 那么表示的数值r为a-1,如果组织段是连续的a个0加1个1, 那么表示的数值r为-a。 0116 具体的, 本实。
47、施例中, 确定所述组织段的值对应的二进制码的步骤具体可以包括: 0117 S401, 如果所述组织段的值大于或者等于0, 则确定所述组织段的值对应的二进制 码由r+1个1和1个0组成。 0118 S402, 如果所述组织段的值小于0, 则确定所述组织段的值对应的二进制码由-r个 0和1个1组成。 0119 对于真值为0.125的数来说, 组织段的值r为-1, 此时r小于0, 那么该r值对应的二 进制码则由1个0和1个1组成, 即为01。 0120 S302, 利用所述第二指数段的值和所述预设指数位宽, 确定所述第二指数段的值 对应的二进制码。 0121 本实施例中的预设指数位宽规定的就是Pos。
48、it数据格式的浮点数中的指数位的位 宽, 如果预设指数位宽es为2, 第二指数段的值e为1, 那么可以将真值为1的e用两位二进制 码的形式表示, 即为01; 如果预设指数位es为3, 第二指数段的值e为1, 那么可以将真值为1 的e用三位二进制码的形式表示, 即为001。 0122 S303, 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二 尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。 0123 图4为本发明实施例提供的二进制码表示数据的示意图。 如图4所示, 预设总位宽N 为5, 预设指数位宽es为2时, 真值为0.125的数对应的Posit数据格式的浮点。
49、数的第二符号 段的值s为0, 其二进制码的形式也为0, 组织段的值r对应的二进制码为01, 第二指数段的值 e对应的二进制码为01, 第二尾数段值f对应的二进制码为0, 由于预设总位宽为5, 所以舍去 第二尾数段的二进制码, 因此, 可以获得0.125对应的Posit数据格式的浮点数为00101, 即 0.125对应的第二浮点数。 0124 实施例四 0125 本发明实施例四提供的一种浮点数转换方法, 在上述实施例的基础上, 所述将所 述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二尾数段的值以二进 制码的形式按照预设总位宽组成第二浮点数的步骤具体还包括: 0126 S501。
50、, 将所述第二符号段的值、 所述组织段的值、 所述第二指数段的值和所述第二 尾数段的值对应的二进制码依次拼接, 组成拼接数。 0127 S502, 如果所述拼接数的总位宽大于所述预设总位宽, 则依次从所述拼接数的尾 端截取二进制码, 使得截取后的所述拼接数的总位宽等于所述预设总位宽。 0128 本实施例中的第二浮点数整体的位宽不能超过预设总位宽, 例如, 预设总位宽要 求为8, 那么最终组成的第二浮点数的总位数必须等于8。 如果将第二浮点数中各个数据段 的二进制码拼接后, 总位数超过8位, 那么首先需要从第二尾数段最右端开始将一部分或者 全部的二进制码截取掉, 保证第二浮点数剩余的部分位数为8。
- 内容关键字: 浮点 转换 方法 装置
农用无人机喷施效率现场检测装置.pdf
双线全自动冷轧管机生产线.pdf
汽车双色透光按钮.pdf
便于残渣分离的活性氧化锌制备装置.pdf
五金件CNC加工车床.pdf
拖拉机翻转连接架.pdf
物流箱投送物流架.pdf
对虾无节幼体流水养殖装置.pdf
烧结网管状过滤元件对接拼焊结构.pdf
车辆顶舱盖机构及车辆.pdf
节能型有机废气高效吸附脱附装置.pdf
新型储能电源.pdf
方便运输的可折叠储物罐.pdf
镜头易拆卸安装的玩具显微镜.pdf
预拌砂浆筛砂机.pdf
用于农药残留检测的样品破碎装置.pdf
方便维修的地坪研磨机齿轮箱.pdf
协作机器人侧装升降机构.pdf
TBM隧道施工注浆装置.pdf
便携式毫米波接力机.pdf
中频炉金属硅粉快速下料装置.pdf
即时传输及显示方法、装置、设备及存储介质.pdf
佩戴牢固的蓝牙耳机.pdf
基于3D激光雷达的移动机器人位姿跟踪方法及装置.pdf
基于模型协作的数据加权学习方法.pdf
蓝牙耳机信号传输测试装置.pdf
异常报价监控方法、系统、计算机及存储介质.pdf
混凝土布料任务动态控制方法及系统.pdf
转载溜槽及包括其的带式输送机系统.pdf
基于大数据的计算手术后目标血红蛋白的方法及系统.pdf
中频炉换炉开关.pdf
患者数据可视化管理系统及方法.pdf