Cortex-M3內核浮點(diǎn)型運算的研究與實(shí)現
3.2 乘法運算
對于浮點(diǎn)型乘法運算,因為Cortex-M3內核支持單周期乘法指令,所以運算速度比較快。運算流程與加減運算相似,不同之處有:階碼相加最高位取反得結果的階碼;尾數不用正負號調整,直接相乘,而尾數的符號位異或即可得結果的符號位;兩個(gè)24位尾數相乘的結果為48位,尾數規格化的時(shí)候,判斷第48位是否為1,如果為1則階碼加1,如果為O則第47位一定為1,階碼不必調整。
3.3 除法運算
除法運算中,提取階碼、重現尾數、提取尾數以及尾數符號位的操作與乘法運算相同,因此除法運算過(guò)程與乘法運算過(guò)程的基本相似,只是計算X、Y尾數的商有所不同。
計算商的方法為:先把X的尾數左移8位,與Y的尾數相除得結果Z1,并計算出余數W1=X-Z1*Y;W1先左移8位,與Y的尾數相除得結果Z2,并計算出余數W2=W1-Z2*Y;W2左移8位,與Y的尾數相除得結果Z3。調整Z1、Z2、Z3并組裝成24位或25位尾數。除法運算的源程序如下:

評論