2011年3月29日 星期二

DIY - PIC:MPLAB C18 編譯器的數據類型和限制 (四十七)

DIY - PICMPLAB C18 編譯器的數據類型和限制 (四十七)

MPLAB C18 編譯器支持標準 ANSI 定義的整數類型。該範圍的標準整數類型如下圖表。另外,MPLAB C18 還支持 24 位整型 short 長整型(或長的短整數)。

▼整數數據類型大小和限制
32位浮點類型於 MPLAB C18 中使用任何的雙重或浮動數據類型。浮點類型的範圍如下圖表。

▼浮點數據類型大小和限制
類型

最小值
最大值
最小標準化
最大標準化
float
32
-126
128
2–126 ≈ 1.17549435e - 38
2128 * (2-2–15) ≈ 6.80564693e + 38
double
32
-126
128
2–126 ≈ 1.17549435e - 38
2128 * (2-2–15) ≈ 6.80564693e + 38

MPLAB C18 的格式浮點數是一種改良形式的 IEEE754 格式。MPLAB C18 的格式和 IEEE754 格式之間的差額,由一個旋轉的前九位的代表性。將轉換一個循環左移從 IEEE754 格式的 MPLAB C18 的格式。右旋轉將轉換從 MPLAB C18 的格式的 IEEE754格式。下圖比較了兩種格式。

MPLAB C18IEEE 754格式的浮點比較:
標準
指數字節
Byte 0
Byte 1
Byte 2
IEEE 754
se0e1e2e3e4e5e6
e7ddd dddd
dddd dddd
dddd dddd
MPLAB C18
e0e1e2e3e4e5e6e7
sddd dddd
dddd dddd
dddd dddd
Legend: s = sign bit  d = mantissa e = exponent

沒有留言:

張貼留言