Вероятно, не будет никакой разницы, кроме экзотического оборудования, где int32_t
и int16_t
даже не существуют.
В этом случае вы можете использовать int_least16_t
для получения наименьшего типа, может содержать 16 бит. Может быть важно, если вы хотите сохранить пространство.
С другой стороны, использование int_fast16_t
может привести к вам другой тип, больший, чем int_least16_t
, но, возможно, быстрее для «типичного» использования целого числа. Реализация должна будет учитывать, что быстрее и что типично. Возможно, это очевидно для некоторых аппаратных средств специального назначения?
На большинстве распространенных машин эти 16-битные типы будут типичными для short
, и вам не нужно беспокоиться.