定點與浮點

2021-08-20 11:37:14 字數 1398 閱讀 7604

定點與浮點是指計算機儲存數字的格式,跟人們日常使用的數字有很大區別。

而定點與浮點在《計算機組成原理》有很詳細的說明,但是電子專業的學生只學《微控制器》,而《微控制器》並沒有介紹定點與浮點的內容,所以電子專業的學生缺了這點基礎,導致在fpga處理運算時遇到攔路虎。

一、定點。

定點數是非常簡單的,它最早在小學的時候就已經學了,只不過那個時候並沒有使用定點這個術語。

如上圖所示,31.5公尺=315分公尺,顯然根據單位的不同,小數點是可以移動的。

只要單位固定了,那麼小數點也固定,所以叫定點數。那麼二進位制的定點數,也是同樣的原理。

二進位制的011=十進位制的3;二進位制的0.11=十進位制的0.75,但是,011和0.11存在電腦上都是存為011,因為電腦壓根就不存小數點。

那麼怎樣知道小數點在哪?答案就是心中有數,記在自己的腦子裡。

如果我要得到十進位制的3.75,那麼你可以用011+0.11,但是這種加法首先要對齊位寬,對齊目的就是讓大家的單位一致。

你可以把011擴充套件為011.00,把0.11擴充套件為000.11,這樣一相加就得到011.11,就是十進位制的3.75了,存在電腦的時候,只會存為01111。

二、浮點。

由於定點數所表示數的範圍非常有限,所以才弄了浮點數,以擴充數的範圍,以便給精度要求高的場合下使用。

浮點數也是很簡單,因為我們的祖先已經為我們解決了這個問題,就是科學計數法。

在初一的時候就有學習科學計數法了,只不過那個時候並沒有使用浮點這個術語。

把科學計數法統一寫成

雖然在cpu內部運算時使用

浮點數在運算過程中,需要對階(也就是讓指數字相同),而對階過程中就常常使小數點移動,所以叫浮點數。

使用浮點數格式處理加、減、乘、除等運算,有兩種方法,一種是使用定點模擬浮點,另一種是使用fpu(浮點處理單元)。

定點模擬浮點,運算速度較慢,在一些沒有fpu的cpu會用得上(如51微控制器)。

fpu是在cpu內部整合的外設,運算速度較快,但是cpu的成本會增加(如stm32f4系列)。

然而大多數fpga內部沒有整合fpu,要麼使用ip核(opencores有),要麼自己用hdl寫乙個。

DSP 浮點與定點

浮點與定點也是經常是初學者困惑的問題,在選擇dsp器件的時候,是採用浮點還是採用定點,如果用定點是16位還是32位?其實這個問題和你的演算法所要求的訊號的動態範圍有關。定點的計算不過是把乙個資料當作整數來處理,通常ad取樣來的都是整數,這個數相對於真實的模擬訊號有乙個刻度因子,大家都知道用乙個16位...

浮點型與定點型(浮點數與定點數)

浮點型與定點型 浮點數與定點數 float與int,這兩個型別,仔細研究一下,這兩個型別就會發現為什麼有超級計算機誕生的必要了,以及提高計算機的計算能力真的是一件很偉大的事情,正式說下把,先來定點數,定點數就是小數點固定在乙個位置,如下圖 類似上面長條那樣,表示小數點時,只能固定乙個點,假設使用32...

定點和浮點

80x86 中的定點與浮點 在計算機中,數值資料有兩種表示法 定點表示法和浮點表示法。浮點表示法比定點表示法所表示的數的範圍大 精度高。但由於80x86 微處理器是通用微處理器,它處理的資料小數點位置是固定的,屬定點數,故對浮點數的數值運算是由與其配套的浮點部件實現的。浮點部件具有浮點數值運算的功能...