97精品国产一区二区_亚洲国产成人久久成人52_国产精品对白刺激久久久_亚洲av午夜福利精品

?

基于FPGA的數(shù)字信號處理--什么是定點數(shù)?

發(fā)布日期:2024-05-11     486 次

在實際的工程應用中,往往會進行大量的數(shù)學運算。運算時除了會用到整數(shù),很多時候也會用到小數(shù)。而我們知道在數(shù)字電路底層,只有「高電平1」和「低電平0」的存在,那么僅憑 0和1 該如何表示小數(shù)呢?

數(shù)字電路中,小數(shù)可以用兩種形式來表示:「」和「浮點數(shù)」。浮點數(shù)的內(nèi)容我們下篇文章再講,本文只講。

什么是?

首先要明確的是,「定點數(shù)」的說法是相對「浮點數(shù)」來說的。要理解什么是定點數(shù),可以先從要理解它的名字開始–定是什么?點又是什么?

「定點數(shù)」是英語「fixed-point number」的中文翻譯,fixed的意思是固定的,point的意思是小數(shù)點,所以「定點數(shù)」其實也可以叫「固定小數(shù)點的數(shù)」。同樣的,「浮點數(shù)」自然就是「浮動小數(shù)點的數(shù)」。

在10進制中,小數(shù)的表示是通過小數(shù)點和它所在位置來實現(xiàn)的。比如12.5,它表示的值是十二點五;而1.25則是一點二五。盡管12.5和1.25都用了「1 2 5」這3個數(shù)來表示,但由于小數(shù)點位置的不同,使得前者的數(shù)值是后者的十倍。

遺憾的是,電路只能表示1和0,無法直接表示小數(shù)點,所以上面的方法在電路中是行不通的。

假如你現(xiàn)在收到一條信息「我傳一個小數(shù)過來,10100111」,看到這樣一條信息,你恐怕只會覺得莫名其妙!10100111是哪門子小數(shù)?慢著,10100111如果直接轉(zhuǎn)換成10進制數(shù)就是167,167當然不是小數(shù),因為它沒有小數(shù)點。但是仔細想想?它真的沒有小數(shù)點嗎?如果把167看做是167.0呢?也就是默認它的小數(shù)點是在最右邊呢?

image-20240407204338665


接著你很快又收到了第二條信息「我再傳一個小數(shù)過來,10100111,它的小數(shù)點在從右往左數(shù)第1位」。這次你終于能看懂了 ,這不就是1010011.1嗎?也就是10進制數(shù)83.5。那么直接說83.5不就完事了嗎?說這么多干嗎?


image-20240407204521135


然后是第三條消息「我再傳一個小數(shù)過來,10100111,它的小數(shù)點在從右往左數(shù)第2位」。這次傳的是101001.11,即10進制數(shù)41.75。


image-20240407204616934


······(省略后面的10086條消息)······

看到這是不是清晰很多了–盡管我們無法直接用小數(shù)點來表示2進制小數(shù),但可以通過指定小數(shù)點的位置來說明這是一個小數(shù)啊!

約定小數(shù)點的位置,且這個位置固定不變,小數(shù)點前、后的數(shù)字,分別用2進制表示,組合起來就可以用來表示和使用2進制小數(shù)了。用這種方式表示的數(shù)就叫做「定點數(shù)」。

定點數(shù)如何表示數(shù)字?

很容易想到,定點數(shù)除了能表示小數(shù)外,也可以表示整數(shù)。因為你可以把小數(shù)點的位置約定在最右面,這樣其實相當于沒有小數(shù)點,所以表示的都是整數(shù);同樣的,你也可以把小數(shù)點規(guī)定在最左邊,這樣表示的就是一個整數(shù)部分為0的小數(shù)。

所以定點數(shù)的表示可以分為三種情況:

純整數(shù)

這種情況約定小數(shù)點在最右邊。例如10進制數(shù)85用8位無符號2進制數(shù)表示就是0101_0101,因為小數(shù)點在最右邊,所以可以看做是0101_0101.0 。


image-20240407205843367


純小數(shù)

定點純小數(shù)是指整數(shù)部分為0的小數(shù)。根據(jù)是無符號數(shù)還是有符號數(shù),分為兩種情況:

(1)無符號數(shù)

無符號數(shù)的最高位不表示符號,僅表示數(shù)值。這種情況約定小數(shù)點的位置在最左邊。例如10進制數(shù)0.125用8位無符號2進制數(shù)表示就是0.0010_0000,因為小數(shù)點在最左邊,所以是0010_0000。


image-20240407210804688


(2)有符號數(shù)

有符號數(shù)的最高位表示符號,不表示數(shù)值。這種情況約定小數(shù)點的位置在次高位。例如10進制數(shù)-0.125用8位無符號2進制數(shù)表示就是1.0010_000,因為小數(shù)點在次高位,所以是1010_0000。


image-20240407211159470


整數(shù) + 小數(shù)

除了純整數(shù)和純小數(shù)這兩種情況外,其實定點數(shù)主要是用來表示 「整數(shù) + 小數(shù)」的情況,例如3.14、1.5、25.125等等。這種情況需要確定以下信息才能正確表示該數(shù):

  • 整數(shù)部分長度

  • 小數(shù)部分長度

  • 是否有符號位


image-20240407211936944


整數(shù)和小數(shù)的長度之和確定了用多大的電路來表示定點數(shù),而二者的長度之比則確定了小數(shù)點的位置。符號位則確定了該數(shù)是一個有符號數(shù)還是一個無符號數(shù)。

光說不練云玩家,接下來看幾個例子。

(1)1.25 的定點數(shù)表示

首先約定用無符號數(shù)來表示,然后約定5 位為整數(shù)部分,3 位為小數(shù)部分。所以有:

1.25(D) = 1.01(B) = 00001.010 = 000010101

(2)-9.5 的定點數(shù)表示

首先需要用有符號數(shù)來表示,因為整數(shù)9需要4位來表示,而小數(shù)0.5僅需1位就可表示。為此可以約定5位為整數(shù)部分(注意最高位為符號位),3 位為小數(shù)部分。所以有:

-9.5(D) = 10110.1(B) = 10110.100 = 101101001

定點數(shù)的數(shù)值范圍

定點數(shù)用來表示小數(shù)很方便,但是它也有個很大的問題–它的表示范圍很小。

以5 位表示整數(shù)部分,3 位表示小數(shù)部分的無符號定點數(shù)為例,它的整數(shù)部分可以表示的范圍是00000-11111,即0-31,步長是1;小數(shù)部分的范圍是0.000-0.111,即0-0.875,步長是0.125。綜合起來范圍是0-31.875,步長為0.125。

有符號數(shù)的因為是用補碼表示,所以它的范圍取值比較特殊。以5 位表示整數(shù)部分,3 位表示小數(shù)部分的有符號定點數(shù)為例,它能表示的最小值是10000_000,即-32,它能表示的最大值是01111_111,即15.875。

若以m表示定點數(shù)的整數(shù)位寬(m不包含符號位),以n表示定點數(shù)的小數(shù)位寬,則有符號數(shù)和無符號數(shù)的定點數(shù)的表示范圍為:

有符號數(shù)-2^m ~ (2^m - 2^-n)
無符號數(shù)0 ~ (2^m - 2^-n)

如果想表示更大范圍、更高精度的值,怎么辦?

  • 擴大整體位寬:比如使用 16位、32位來表示, 這樣相應地整數(shù)部分和小數(shù)部分的寬度都可以增加,自然表示范圍也就變大了。但是位寬的增加,也會帶來更多的硬件開銷

  • 改變小數(shù)點的位置:小數(shù)點向后移動,那么整個數(shù)字范圍就會擴大,但是小數(shù)部分的精度就會越來越低。小數(shù)點向前移,表示的精度會變高,但是數(shù)字的表示范圍又會降低。所以說定點數(shù)小數(shù)點位置的確定是一個范圍和精度的trade off(權(quán)衡)

一些定點數(shù)的表示格式

除了可以用類似「以5 位表示整數(shù)部分,3 位表示小數(shù)部分的無符號定點數(shù)」的語言來描述定點數(shù)的格式外,還有多種定點數(shù)的表示格式。常見的有以下幾種:

Q格式(Q notation)

Q格式的一般形式是:

Qm.n

默認情況下,用Q格式描述的都是有符號定點數(shù)。其中m表示整數(shù)部分的長度(這個值不包括符號位),n表示小數(shù)部分的長度。所以用Q格式描述的定點數(shù)的整體長度為:

w = m + n + 1 //整數(shù)部分長度 + 小數(shù)部分長度 + 符號位長度

例如 「 Q3.12 」描述的是一個整體長度為16位的2進制有符號定點數(shù),它的整數(shù)部分長度是3,而小數(shù)部分長度是12。根據(jù)小數(shù)部分的長度,可以推斷出分辨率為 2^-12。

在Q前面加一個 U 即可用來表示無符號的2進制定點數(shù)。例如 「 UQ1.15」描述的就是一個整數(shù)部分長度為1,小數(shù)部分長度為15的無符號的2進制定點數(shù)。

整數(shù)部分的長度值和小數(shù)點可以被省略,而只描述小數(shù)部分的長度。例如「 Q12 」描述的就是一個小數(shù)部分長度是12的2進制有符號定點數(shù),但是它的整體長度是不確定的,你可以額外指定整體長度,或者說整體長度就取決于存儲這個定點數(shù)的寄存器。

如果這個定點數(shù)存儲一個16位的寄存器,那它的值就是:

xxxx . xxxx_xxxx_xxxx

如果這個定點數(shù)存儲一個32位的寄存器,那它的值就是:

xxxx_xxxx_xxxx_xxxx_xxxx_xxxx . xxxx_xxxx_xxxx

其實也可以看出來,這種表示方法就是把它的值乘以 2^-12 。

這種整數(shù)長度m不包括符號位的Q格式主要是TI公司的DSP在使用,ARM公司也有一種類似的Q格式,但是它的整數(shù)長度m是包含符號位的。表示方式的不同不是什么大不了的事,只要是使用過程中確定好了就行,為此你甚至也可以自己創(chuàng)造一套定點數(shù)表示方式(只要不怕沒人用就行,嘿嘿)。

S表示法

S表示法的一般形式是:

Sm.n

其中S表示這是一個有符號的定點數(shù),m表示整數(shù)位數(shù)(m不包括符號位),n表示小數(shù)位數(shù)。這種方法其實跟Q格式很像,只不過它的表示無符號定點數(shù)的方法不是在前面加 U ,而是去掉 S,像這樣:

m.n

例如「 2.4 」表示的就是一個整數(shù)位數(shù)為2,小數(shù)位數(shù)為4的無符號定點數(shù)。

總結(jié)

總的來說,用定點數(shù)表示的小數(shù),不僅數(shù)值的范圍表示有限,而且其精度也很低。要想解決這 2 個問題,人們就提出了使用「浮點數(shù)」的方式表示數(shù)字,關(guān)于浮點數(shù)的表示方法,我們會在下一篇文章進行講解。

定點數(shù)和浮點數(shù)都可以表示小數(shù),而定點數(shù)的精度固定,表現(xiàn)范圍比較有限;但是,定點數(shù)在硬件上比較容易實現(xiàn),在實際的數(shù)據(jù)算法中,定點數(shù)運算效率比浮點數(shù)的運算效率高很多,同時定點數(shù)使用的資源也比較少。因此,定點數(shù)被廣泛地應用在處理的各種應用場景中。

  1. 定點數(shù)是在計算機中表示數(shù)字的一種方式,它既可以表示整數(shù),也可以表示小數(shù)

  2. 在固定 bit 下,約定小數(shù)點的位置,然后把整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換為二進制,就是定點數(shù)的結(jié)果

  3. 受限于小數(shù)點的位置,用定點數(shù)表示小數(shù)時,數(shù)值的范圍和小數(shù)精度是有限的

  4. 在現(xiàn)代計算機中,定點數(shù)通常用來表示整數(shù),對于高精度的小數(shù),通常用浮點數(shù)表示


為您精選

尋找更多銷售、技術(shù)和解決方案的信息?

?
關(guān)于綠測

廣州綠測電子科技有限公司(簡稱:綠測科技)成立于2015年11月,是一家專注于耕耘測試與測量行業(yè)的技術(shù)開發(fā)公司。綠測科技以“工程師的測試管家”的理念向廣大客戶提供專業(yè)的管家服務。綠測科技的研發(fā)部及工廠設立于廣州番禺區(qū),隨著公司業(yè)務的發(fā)展,先后在廣西南寧、深圳、廣州南沙、香港等地設立了機構(gòu)。綠測科技經(jīng)過深耕測試與測量領(lǐng)域多年,組建了一支經(jīng)驗豐富的團隊,可為廣大客戶提供品質(zhì)過硬的產(chǎn)品及測試技術(shù)服務等支持。

綠測工場服務號
綠測工場服務號
綠測科技訂閱號
綠測科技訂閱號
020-2204 2442
Copyright @ 2015-2024 廣州綠測電子科技有限公司 版權(quán)所有 E-mail:Sales@greentest.com.cn 粵ICP備18033302號
97精品国产一区二区_亚洲国产成人久久成人52_国产精品对白刺激久久久_亚洲av午夜福利精品
婷婷五月综合色视频| 草熟女| 老熟女勾搭小伙子对白| 尤物网av| 亚洲一区二区久久69| 亚洲午夜久久久久久久久 | 人妻少妇久久中文字幕一区二区 | 无码精品一区二区三区在线| 国产精品卡一卡二| 色94色欧美sute亚洲线路一久| 成年人免费黄色片| 日韩av在线一区二区三区| 欧美精产国品一二三产品的区别| 无套内谢少妇毛| 亚洲AV成人精品一区二区三区| 国产精品偷窥老熟女的高潮| 欧美极品jizzhd欧美下载| 国产suv精品一区二区四区99| 日产精品久久久久久久| 国产真实乱对白精彩久久老熟妇女| 999久久欧美人妻一区二区| 国产精品日本一区二区不卡视频| 澳门午夜福利视频| 国产日韩精品一区二区| 亚洲精品91天天久久人人| 99久久国产精品人妻无码| 国产精品久久久久久精品香蕉 | 里番本子库全彩☆堕落媚肉 | beeg欧美极品少妇| 亚洲欧美小说图片| 婷婷久久丁香| 日韩av动漫| 星空视频影视大全免费观看| 91人人妻人人澡人人爽国产一 | 国产精品免费无遮挡无码永久视频| 成人精品一区二区三区网站 | 国产精品人妻无码免费| 国产日韩欧美精品区| av在线毛片| 欧美人妻一二区| 久久久久中文字幕|