你什么时候使用uint_least16_t

Gor*_*ley 5 c

我正在看stdint.h并且假设它有uint16_t和uint_fast16_t,uint_least16_t的用途是什么,你可能想要用另外两个中的哪一个做得不好?

Mic*_*urr 10

假设您正在使用以下编译器:

  • unsigned char 是8位
  • unsigned short 是32位
  • unsigned int 是64位

而unsigned int是"最快的".在那个平台上:

  • uint16_t提供
  • uint_least16_t 将是32位值
  • uint_fast16_t 将是64位值

有点神秘,但这就是它的用途.

它们的用处是另一个故事 - 我一直看到确切的尺寸变体.这就是人们想要的.我见过的"最少"和"快速"版本使用得非常接近(它可能只是在示例代码中 - 我真的不确定).