Cortex-M3內核浮點型運算的研究與實現
3.2 乘法運算
對于浮點型乘法運算,因為Cortex-M3內核支持單周期乘法指令,所以運算速度比較快。運算流程與加減運算相似,不同之處有:階碼相加最高位取反得結果的階碼;尾數不用正負號調整,直接相乘,而尾數的符號位異或即可得結果的符號位;兩個24位尾數相乘的結果為48位,尾數規格化的時候,判斷第48位是否為1,如果為1則階碼加1,如果為O則第47位一定為1,階碼不必調整。
3.3 除法運算
除法運算中,提取階碼、重現尾數、提取尾數以及尾數符號位的操作與乘法運算相同,因此除法運算過程與乘法運算過程的基本相似,只是計算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位尾數。除法運算的源程序如下:
本文引用地址:http://www.cqxgywz.com/article/195058.htm











評論