На этом шаге мы рассмотрим числовые пределы.
На практике предельные значения числовых типов зависят от платформы. В стандартной библиотеке C++ они реализованы в шаблоне numeric_limits. Числовые пределы заменяют и дополняют обычные препроцессорные константы языка С. Впрочем, эти константы по-прежнему доступны для целочисленных типов в заголовочный файлах <climits> и <limits.h>, а для вещественных типов - в заголовочный файлах <float> и <float.h>. У новой концепции числовых пределов есть два достоинства; во-первых, она повышает уровень типовой безопасности, а во-вторых, позволяет программисту писать шаблоны, которые проверяют эти пределы. Начиная с этого шага, мы начнем знакомиться с числовыми пределами. Однако следует заметить, что всегда рекомендуется писать независимый от платформы код, рассчитанный на минимальный гарантированный размер данных типа. Минимальные размеры для разных типов перечислены в таблице 1.
Тип | Минимальный размер |
---|---|
char | 1 байт (8 бит) |
short int | 2 байта |
int | 2 байта |
long int | 4 байта |
float | 4 байта |
double | 8 байт |
long double | 8 байт |
На следующем шаге мы рассмотрим класс numeric_limits.