Для переменных, представляющих число с плавающей точкой используются следующие модификаторы-типа : float, double, long double (в некоторых реализациях языка long double СИ отсутствует).
Величина с модификатором-типа float занимает 4 байта. Из них 1 байт отводится для знака, 8 бит для избыточной экспоненты и 23 бита для мантиссы. Отметим, что старший бит мантиссы всегда равен 1, поэтому он не заполняется, в связи с этим диапазон значений переменной с плавающей точкой приблизительно равен от 3.14E-38 до 3.14E+38.
Величина типа double занимает 8 байт в памяти. Ее формат аналогичен формату float. Биты памяти распределяются следующим образом: 1 бит для знака, 11 бит для экспоненты и 52 бита для мантиссы. С учетом опущенного старшего бита мантиссы диапазон значений равен от 1.7E-308 до 1.7E+308.
Название типа
Тип значения переменной
Диапазон значений
Необходимая память, в битах
Примечания
float
Вещественный
±3.4е-38… ±3.4е+38
Определяет вещественные числа, дробная часть которых отделяется точкой (например, -5.27, 0.0, 31.69 и т.д.). Вещественные числа могут записываться в экспоненциальной форме. Например: -1.58е+2 (что равно -1,58 * 102), 3.61е-4 (что равно 3,61 *10-4).
double
двойная точность
±1.7е-308... ±1.7е+308
Определяет вещественные переменные двойной точности, занимающие в два раза больше памяти, чем переменная типа float