DSP中浮點轉定點運算--定點數的加減乘除運算。本站提示廣大學習愛好者:(DSP中浮點轉定點運算--定點數的加減乘除運算)文章只能為提供參考,不一定能成為您想要的結果。以下是DSP中浮點轉定點運算--定點數的加減乘除運算正文
3.定點數的加減乘除運算
簡略的說,各類運算的准繩就是先把待運算的數據縮小必定的倍數,在運算的進程中應用的縮小的數據,在終究須要輸入成果的時刻再調劑歸去。
舉個例來講,有以下運算:
…
// coefs1 = 0.023423; coefs2=0.2131
float coefs1,coefs2;
int result;
…
result = 34* coefs1+72* coefs2;
…
代碼的意思是,該模塊須要輸入一個整型的成果,但盤算的進程中有浮點的運算。假如在定點的DSP中,這段代碼是沒法運轉的。
為懂得決這個成績,我們可以如許處置:起首,把coefs1,coefs2等相似的浮點數據擴展必定的倍數(詳細擴展若干倍,根據精度請求分歧),我們暫且把小數點向右挪動4位,也就是擴展的倍數為:*10000,在終究的輸入的時刻在減少雷同的倍數。修正後的代碼年夜致以下:
// coefs1 = 234; coefs2= 2131
int coefs1,coefs2;
int result;
…
result = 34* coefs1+72* coefs2;
result /= 10000;
…
固然,下面的例子為了年夜家好懂得,寫的能夠不是太准確,不外根本的精華應當是這些了。詳細的處置進程,年夜家可以在網上搜刮“第3章 DSP芯片的定點運算.doc”這篇文章,寫的很詳細,這裡不再羅嗦了。
以上就是本文的全體內容,願望能給年夜家一個參考,也願望年夜家多多支撐。