成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

談談小數的表示方法之定點數

開發 前端
在數字信號處理中往往都需要進行大量的數字運算,比如,數字信號的解調,需要采集大量的IQ數據對其進行解調運算。

[[385305]]

在數字信號處理中往往都需要進行大量的數字運算,比如,數字信號的解調,需要采集大量的IQ數據對其進行解調運算。在實際的研究和學習中我們一般會在操作系統中利用豐富的軟件給我們提供的便捷的計算工具進行計算(Matlab、Python等),這可以很方便的處理我們所研究的數字信號。然而,學過計算機原理或者匯編語言的同學會清楚,數據的運算的最終是在計算機硬件上來完成的,我們在操作系統層面的數據運算往往意味著需要進行大量的資源的調度。

雖然現在的計算機的性能已經非常的強大,但是對于面向應用的產品來說,其處理器性能往往和計算機不能相提并論。

通常,在通信、圖像等數字信號處理中,會采用硬件芯片的方式進行數據運算(DSP、FPGA等),通過這種硬件芯片上進行數字信號運算,可以很好的提高運算效率,這也在工程應用中廣為采用的一種方式。

在這些處理器中往往各種數據都是通過整數形式存儲(比如,通信中的IQ數值的存儲)。實際上,我們需要進行運算的數據大多都是小數,那么,該怎么解決呢?一般的我們可以通過定點數這種方式來表示小數。

什么是定點數

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

定數表示

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

純小數

純整數

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

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

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

  • 無符號定點數:無符號位
  • 有符號定點數:有符號位

無符號定點數

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

無符號Q14

根據計算結果,小數1.2可以用Q14格式的無符號定點數19661表示。

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

原碼、反碼、補碼

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

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

對于正數來說,

  1. 原碼 = 反碼 = 補碼 

對于負數來說,

  1. 反碼 = 符號位不變,原碼取反 
  2. 補碼 = 反碼 + 1 

有符號定點數

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

有符號Q15

求正數0.8的定點數:

求負數-0.8的定點數:

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

最后

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

本文轉載自微信公眾號「Will的大食堂」,可以通過以下二維碼關注。轉載本文請聯系Will的大食堂公眾號。

 

責任編輯:武曉燕 來源: Will的大食堂
相關推薦

2020-10-12 06:38:08

存儲定點數

2025-03-03 04:20:00

2024-08-23 08:43:08

2011-05-25 14:10:38

浮點數

2023-01-05 11:27:27

技術架構

2012-05-03 15:01:24

數值壓縮

2010-08-24 16:41:59

cellpaddingcellspacing

2020-06-11 13:03:04

性能優化緩存

2010-04-20 13:39:08

Unix操作系統

2009-11-18 13:38:27

2009-07-14 14:12:14

Javascript

2021-10-19 14:04:28

C++類型數字

2013-01-22 10:10:45

大數據小數據

2009-09-14 15:50:17

CCNA學習方法

2012-05-08 16:37:23

android

2013-03-12 09:52:04

技術文檔技術反饋程序員

2021-06-17 07:08:19

Tapablewebpack JavaScript

2023-02-08 19:41:55

Python

2010-06-28 17:26:02

UML類圖關系

2014-03-20 09:17:36

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品在线看 | 91n成人| 久久精品国产亚洲一区二区 | 91精品在线播放 | 午夜国产一级 | 久久久久久久国产 | 97国产精品 | 亚洲成人二区 | 亚洲精品视频免费观看 | 999视频 | 91亚洲国产成人久久精品网站 | 一级毛片视频在线 | 欧美亚洲国产一区二区三区 | 男女羞羞视频免费 | 久久久久国产一区二区三区四区 | 色av一区二区三区 | 亚洲视频在线观看 | 99久视频| 色综久久 | 免费a v网站| 欧美国产精品一区二区三区 | 国产日韩中文字幕 | 国产亚洲精品一区二区三区 | 免费国产一区 | 欧美国产中文字幕 | 国产精品一级 | 亚洲国产成人在线视频 | 日韩在线播放一区 | 成年人网站国产 | 精品1区2区3区4区 | 日本不卡一区 | 一区二区三区欧美大片 | 欧美性生交大片免费 | 国产美女一区二区三区 | 亚洲最色网站 | 日韩一区二区三区在线观看视频 | 欧美aⅴ片| 日韩三级电影一区二区 | 毛片久久久 | 韩日av片| 人人操日日干 |