Переменная может иметь разный размер в зависимости от аппаратного обеспечения.
На микроконтроллерах и более старых процессорах использовались 8-битные и 16-битные архитектуры (в настоящее время распространенный ПК имеет более или менее 64-битную архитектуру, а стандартом было 32-битное несколькомного лет назад).Они имеют «меньшие» переменные, чем те, которые кто-то ожидал бы получить от Java или современного ПК.
Например, int
может быть только 16-битным.Это может привести к проблемам, если код переносится из системы, которая ожидает, что он будет 32-разрядным, поскольку это может привести к переполнению целого числа.
Для исправления были объявлены новые типы, которые имеют независимую от системы реализацию.
int32_t
всегда 32 бит.Внутренне он может отображаться (например) int
или long int
в зависимости от деталей реализации.
С этими типами программист может быть уверен, что он всегда получает переменную, достаточно большую для операции.