## Fixed-Point Data Types定點數類型
> MSP設備的DSP庫使用了IQmathLibry,Q15和IQ31具有相同的定點類型。Q15定點類型定義為 _q15 ,并以16位帶符號整數存儲。類似,IQ31類型被定義為_iq31,并以一個32位帶符號整數存儲。以下公式為定點數表示方法,可將存儲在內存中的整數值與對應的Q15或IQ31數值進行轉換。
:-: 
> Q15和IQ31都可以用來表示小數,它們的區別在于數據的分辨率。下表顯示了這兩種格式的屬性以及幾種標準數據類型。
>
|類型 | 整數位|小數位|最小值|最大值|分辨率|
:-: | --- | --- |--- |--- |--- |--- |
|int16_t| 16| 0 |-32768|32767|1|
| int32_t| 32|0 |-2147483648 |2147483648|1 |
|_q15|1|15|-1.0|0.9999695|0.00003051758|
|_iq31|1|31|-1.0|0.9999999995|0.00000000046|
*****
## 宏指令
> 為了幫助定點數的操作,DSP庫定義了C宏定義,以便從十進制數快速轉換到定點數。下面的示例展示了如何使用_Q15和_IQ31宏定義常量,并用于初始化復雜的數據樣本。
```
// Constant definition
#define MY_CONST 0.0125
#define MY_CONST_Q15 _Q15(MY_CONST)
#define MY_CONST_IQ31 _IQ31(MY_CONST)
// Sample function
void myFunction(_iq31 *cmplxData)
{
cmplxData[0] =_IQ31(0.0);
cmplxData[1] = MY_CONST_IQ31;
return;
}
```
有關可用宏函數的詳細信息,請參閱支持api文檔一節。