程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> DSP中浮點轉定點運算--定點數的加減乘除運算

DSP中浮點轉定點運算--定點數的加減乘除運算

編輯:關於C++

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”這篇文章,寫的很詳細,這裡不再羅嗦了。

以上就是本文的全體內容,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved