2011-02-10 55 views
12

我有一個16位定點處理器,我想用它做定點處理。我正在尋找正確的數據類型使用無符號16位整數..定點處理:uint16_t和uint_fast16_t有什麼區別?

我的問題是:有什麼區別uint16_tuint_fast16_t? (這些都包含在stdint.h中。)uint_fast16_t更好,因爲它更快?

謝謝!

+1

http://en.wikipedia.org/wiki/Stdint.h#Integer_types – kennytm 2011-02-10 19:42:45

回答

12

uint16_t是一個無符號的16位整數。 uint_fast16_t是具有至少16位的最快可用無符號整數。

+6

如果您可以定義「最快」,回答會更有幫助。 – 2011-02-10 19:47:17

6

uint16_tuint_fast16_tuint_least16_t更具限制性。不僅後面兩個可能比16位寬,它們也可能有填充位(不考慮奇偶校驗位等值的位)。

這種差異對簽名類型更爲明顯。在這裏,確切的寬度類型必須使用二進制補碼來表示負值。

相關問題