国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 正文
    • 什么是定點數(shù)
    • 無符號定點數(shù)
    • 原碼、反碼、補碼
    • 有符號定點數(shù)
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

談?wù)勑?shù)的表示方法之定點數(shù)

2024/04/28
2754
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

數(shù)字信號處理中往往都需要進行大量的數(shù)字運算,比如,數(shù)字信號的解調(diào),需要采集大量的IQ數(shù)據(jù)對其進行解調(diào)運算。在實際的研究和學習中我們一般會在操作系統(tǒng)中利用豐富的軟件給我們提供的便捷的計算工具進行計算(Matlab、Python等),這可以很方便的處理我們所研究的數(shù)字信號。然而,學過計算機原理或者匯編語言的同學會清楚,數(shù)據(jù)的運算的最終是在計算機硬件上來完成的,我們在操作系統(tǒng)層面的數(shù)據(jù)運算往往意味著需要進行大量的資源的調(diào)度。雖然現(xiàn)在的計算機的性能已經(jīng)非常的強大,但是對于面向應(yīng)用的產(chǎn)品來說,其處理器性能往往和計算機不能相提并論。

通常,在通信、圖像等數(shù)字信號處理中,會采用硬件芯片的方式進行數(shù)據(jù)運算(DSP、FPGA等),通過這種硬件芯片上進行數(shù)字信號運算,可以很好的提高運算效率,這也在工程應(yīng)用中廣為采用的一種方式。在這些處理器中往往各種數(shù)據(jù)都是通過整數(shù)形式存儲(比如,通信中的IQ數(shù)值的存儲)。實際上,我們需要進行運算的數(shù)據(jù)大多都是小數(shù),那么,該怎么解決呢?一般的我們可以通過定點數(shù)這種方式來表示小數(shù)。

什么是定點數(shù)

定點數(shù)英文名叫Fixed Point Number,其關(guān)鍵地方就在定和點這兩個字上面,即在表示小數(shù)數(shù)據(jù)時,把小數(shù)點的位置已經(jīng)約定好固定在某個位置。與之對應(yīng)的是浮點數(shù),其小數(shù)點的位置不是固定的,關(guān)于浮點數(shù)先不做展開。


定數(shù)表示

在定點數(shù)中,小數(shù)點可以將數(shù)據(jù)分為整數(shù)和小數(shù)部分,因此我們可以約定小數(shù)點在數(shù)據(jù)中的不同位置,就可以表示不同大小和精度的小數(shù)。例如,當小數(shù)點位置約定在符號位和數(shù)值位之間,就表示純小數(shù);當小數(shù)點約定在最末尾位置時,就可以表示純整數(shù)。


純小數(shù)

純整數(shù)

如何描述定點數(shù)的這種規(guī)則呢?其實,我們可以使用兩種方法來表示:

  • Q來表示法Qx,x表示小數(shù)的位數(shù)。
  • S表示法Sx.y,x表示整數(shù)位數(shù),y表示小數(shù)位數(shù)。

我們知道在計算機中根據(jù)是否存在符號位可以分成無符號整數(shù)和有符號整數(shù),當然,對于定點數(shù)也可以根據(jù)有無符號位分為:

  • 無符號定點數(shù):無符號位
  • 有符號定點數(shù):有符號位

無符號定點數(shù)

無符號定點數(shù),數(shù)值在機器中字長的全部二進制位中沒有符號位,全都是數(shù)值位。例如,小數(shù)1.2轉(zhuǎn)換成16位的定數(shù),小數(shù)點的位置約定在第14位和第15位之間。


無符號Q14

根據(jù)計算結(jié)果,小數(shù)1.2可以用Q14格式的無符號定點數(shù)19661表示。

無符號定點數(shù)比較簡單,不存在負小數(shù);但是,有符號定點數(shù)就沒這么簡單了,因為存在正負數(shù),其計算方法也不盡相同。

原碼、反碼、補碼

原碼、反碼、補碼在大多數(shù)的計算機編程相關(guān)的書籍里基本上都會提到。在學習有符號定點數(shù)之前,我們需要先復習一下原碼、反碼和補碼。因為數(shù)據(jù)在計算中的存儲方式是以補碼的形式存儲的,在學習有符號定點數(shù)之前,所以,我們有必要先復習這部分內(nèi)容。

  • 原碼:最高位作為符號位(無符號則沒有符號位),其他位是數(shù)據(jù)二進制真值絕對值。例如,無符號數(shù)5,其8位二進制數(shù)的原碼為0000 0101;有符號數(shù)5,其8位二進制的原碼為0000 0101;有符號數(shù)-5,其8位二進制的原碼1000 0101。
  • 反碼:正數(shù)的反碼是其原碼本身,負數(shù)的反碼在其原碼的基礎(chǔ)上符號位不變,其他位取反。例如,無符號數(shù)5,其8位二進制數(shù)的反碼為0000 0101;有符號數(shù)5,其8位二進制數(shù)的反碼為0000 0101;而有符號數(shù)-5,其8位二進制的反碼為1111 1010。
  • 補碼:正數(shù)的補碼就是其本身,負數(shù)的補碼是在其反碼基礎(chǔ)上加1。例如,無符號數(shù)5,其8位二進制數(shù)的補碼為0000 0101;有符號數(shù)5,其8位二進制數(shù)的補碼為0000 0101;而有符號數(shù)-5,其8位二進制的補碼為1111 1011。

對于正數(shù)來說,

原碼 = 反碼 = 補碼

對于負數(shù)來說,

反碼 = 符號位不變,原碼取反

補碼 = 反碼 + 1

有符號定點數(shù)

有符號定點數(shù),需要專門取一位數(shù)據(jù)位作為符號位,通常,符號位上的1表示負數(shù),0表示正數(shù),其余位為數(shù)值位。例如,將小數(shù)0.8和-0.8轉(zhuǎn)成Q15格式的定點數(shù)。


有符號Q15

求正數(shù)0.8的定點數(shù):

求負數(shù)-0.8的定點數(shù):

在有符號定點數(shù)中,需要要注意負數(shù)的計算與正數(shù)有所不同。

最后

定點數(shù)和浮點數(shù)都可以表示小數(shù),而定點數(shù)的精度固定,表現(xiàn)范圍比較有限;但是,定點數(shù)在硬件上比較容易去實現(xiàn),在實際的數(shù)據(jù)算法中,定點數(shù)運算效率比浮點數(shù)的運算效率有大大的提高,同時也降低了數(shù)據(jù)存儲資源。因此,定點數(shù)會被廣泛的應(yīng)用到數(shù)字信號處理的各種應(yīng)用場景中。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
KSZ8721BLI-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, PQFP48
$3.1 查看
KSZ8995XA 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT, PQFP128

ECAD模型

下載ECAD模型
$8.14 查看
KSZ8081RNDIA-TR 1 Microchip Technology Inc IC TXRX ETHERNET 24QFN

ECAD模型

下載ECAD模型
$1.58 查看

相關(guān)推薦

兴安盟| 肇庆市| 三江| 黄平县| 县级市| 建宁县| 喀喇沁旗| 兰州市| 胶南市| 宜丰县| 梨树县| 凤台县| 巍山| 疏附县| 九江县| 留坝县| 察哈| 义乌市| 旌德县| 南雄市| 禄丰县| 南漳县| 洪洞县| 长子县| 长汀县| 长顺县| 繁峙县| 井陉县| 石棉县| 哈巴河县| 龙井市| 卢湾区| 长寿区| 昌宁县| 鹿邑县| 永城市| 合水县| 田林县| 黄龙县| 万荣县| 敖汉旗|