2011-02-10 20 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位宽,它们也可能有填充位(不考虑奇偶校验位等值的位)。

这种差异对签名类型更为明显。在这里,确切的宽度类型必须使用二进制补码来表示负值。

相关问题