【技术实现步骤摘要】
二进制浮点数加法运算方法、电路及计算装置
[0001]本专利技术涉及计算机体系架构
,特别是涉及二进制浮点数加法运算方法、电路及计算装置。
技术介绍
[0002]浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数,其主要由整数、指数和基数组成。由于浮点数是近似表示,因此浮点数会涉及到表达精度的问题。
[0003]浮点数运算即利用浮点数进行加减乘除等运算。在现有的浮点数加法运算中,浮点数虽然可以具有较大的数据的表示范围,但是在浮点数的位数有限的情况下,其数据表示范围大也就意味着其表示精度较低。
技术实现思路
[0004]基于此,有必要针对浮点运算中的浮点数表示精度低的问题,提供一种二进制浮点数加法运算方法、电路及计算装置。
[0005]一种二进制浮点数加法运算方法,包括:获取第一浮点数和第二浮点数,第一浮点数和第二浮点数的基数为2;判断第一浮点数的整数和第二浮点数的整数是否均为非零数。若否,则在第一浮点数和第二浮点数中一者整数为非零数的情况下输出非零数对应的浮点数为运算结果,或在第一浮点数和第二浮点数中整数均为零的情况下输出零为运算结果;若是,则按照第一数据格式,分别向左移位第一浮点数和第二浮点数,使第一浮点数中整数的符号位和第二浮点数中整数的符号位均对应为第一数据格式中整数位数的最高位,并根据第一浮点数和第二浮点数的整数移位个数调整对应的指数,以得到第一预处理浮点数和第二预处理浮点数。对第一预处理浮点数和第二预处理浮点数执行加法运算,以得到中间结果浮 ...
【技术保护点】
【技术特征摘要】
1.一种二进制浮点数加法运算方法,其特征在于,包括:获取第一浮点数和第二浮点数,所述第一浮点数和所述第二浮点数的基数为2,判断所述第一浮点数的整数和所述第二浮点数的整数是否均为非零数;若否,则在所述第一浮点数和所述第二浮点数中一者整数为非零数的情况下输出非零数对应的浮点数为运算结果,或在所述第一浮点数和所述第二浮点数中整数均为零的情况下输出零为运算结果;若是,则按照第一数据格式,分别向左移位所述第一浮点数和所述第二浮点数,使所述第一浮点数中整数的符号位和所述第二浮点数中整数的符号位均对应为所述第一数据格式中整数位数的最高位,并根据所述第一浮点数和所述第二浮点数的整数移位个数调整对应的指数,以得到第一预处理浮点数和第二预处理浮点数;对所述第一预处理浮点数和所述第二预处理浮点数执行加法运算,以得到中间结果浮点数;判断所述中间结果浮点数的整数位数是否大于所述第一数据格式中的整数位数;若否,则输出所述中间结果浮点数为运算结果;若是,则将所述中间结果浮点数的整数向右移一位,并将所述中间结果浮点数的指数减一,得到目标浮点数,并输出所述目标浮点数为运算结果。2.根据权利要求1所述的二进制浮点数加法运算方法,其特征在于,所述按照第一数据格式,分别向左移位所述第一浮点数和所述第二浮点数,使所述第一浮点数中整数的符号位和所述第二浮点数中整数的符号位均对应为所述第一数据格式中整数位数的最高位,以得到第一预处理浮点数和第二预处理浮点数,包括:在第一移位寄存器电路中按照所述第一数据格式缓存所述第一浮点数的整数,并判断所述第一移位寄存器电路缓存的最高位数和次高位数是否相同;若是,则所述第一移位寄存器电路移位所述第一浮点数的整数,第一计数器记录所述第一浮点数的整数移位的第一移位个数,直至所述第一移位寄存器电路缓存的最高位数和次高位数不同;若否,则所述第一移位寄存器电路缓存的整数为所述第一预处理浮点数的整数,所述第一浮点数的指数与所述第一移位个数之和为所述第一预处理浮点数的指数;在第二移位寄存器电路中按照所述第一数据格式缓存所述第二浮点数的整数,并判断所述第二移位寄存器电路缓存的最高位数和次高位数是否相同;若是,则所述第二移位寄存器电路移位所述第二浮点数的整数,第二计数器记录所述第二浮点数的整数移位的第二移位个数,直至所述第二移位寄存器电路缓存的最高位数和次高位数不同;若否,则所述第二移位寄存器电路缓存的浮点数的整数为所述第二预处理浮点数的整数,所述第二浮点数的指数与所述第二移位个数之和为所述第二预处理浮点数的指数。3.根据权利要求1所述的二进制浮点数加法运算方法,其特征在于,所述对所述第一预处理浮点数和所述第二预处理浮点数执行加法运算,以得到中间结果浮点数,包括:判断所述第一预处理浮点数的指数和所述第二预处理浮点数的指数是否相同;若是,则对所述第一预处理浮点数的整数和所述第二预处理浮点数的整数执行加法运算,以得到所述中间结果浮点数的整数;所述第一预处理浮点数的指数或所述第二预处理浮点数的指数对应为所述中间结果浮点数的指数;
若否,则获取所述第一预处理浮点数的指数和所述第二预处理浮点数的指数差值的绝对值;在所述第一预处理浮点数的指数大于或等于所述第二预处理浮点数的指数的情况下,根据所述差值的绝对值向右移位所述第一预处理浮点数的整数,并对所述第二预处理浮点数的整数和移位后的所述第一预处理浮点数的整数执行加法运算,以得到所述中间结果浮点数的整数;所述第二预处理浮点数的指数对应为所述中间结果浮点数的指数;在所述第一预处理浮点数的指数小于所述第二预处理浮点数的指数的情况下,根据所述差值的绝对值向右移位所述第二预处理浮点数的整数,并对所述第一预处理浮点数的整数和移位后的所述第二预处理浮点数的整数执行加法运算,以得到所述中间结果浮点数的整数;所述第一预处理浮点数的指数对应为所述中间结果浮点数的指数。4.根据权利要求1所述的二进制浮点数加法运算方法,其特征在于,所述中间结果浮点数按照第二数据格式缓存;所述第二数据格式的整数位数等于所述第一数据格式的整数位数加一;所述判断所述中间结果浮点数的整数位数是否大于所述第一数据格式中的整数位数,包括:判断所述中间结果浮点数对应位于所述第二数据格式的整数位数中最高位和次高位的数值是否相同;若是,则输出所述中间结果浮点数为运算结果;若否,则将所述中间结果浮点数的整数向右移一位,并将所述中间结果浮点数的指数减一,得到所述目标浮点数,并输出所述目标浮点数为运算结果。5.根据权利要求1~4中任一项所述的二进制浮点数加法运...
【专利技术属性】
技术研发人员:王吉健,刘少清,周亚莉,徐红如,
申请(专利权)人:南京英锐创电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。