Данные плавающего типа могут быть представлены:
1) с фиксированной точкой (изображаются десятичным числом с дробной частью, которая может быть и нулевой). Дробная часть отделяется от целой с помощью точки.
Например: 27.3, 5.0, -16.003, 200.59
2) с плавающей точкой (они имеют вид: mEp - где m - мантисса; Е -признак записи числа с десятичным порядком; р - порядок числа). В качестве m могут быть целые числа и действительные числа с фиксированной точкой (если целая часть мантиссы равна 0, то ее можно опустить, оставив только точку и дробную часть, стоящую после нее). В качестве р могут быть только целые числа. Как мантисса, так и порядок могут содержать знаки '+' или '-' (знак '+' необязателен).
Например: -7.64Е8, 9.1е-2,.967е+3.
Таблица 7
Тип | Размер памяти в байтах | Диапазон значений | Название типа |
Float | от 3.4·10-38 до 3.4·1038 | С плавающей точкой одинарной точности | |
double | от 1.7·10-308 до 1.7·10308 | С плавающей точкой двойной точности | |
Long double | от 3.4·10-4932 до 1.1·104932 | Длинный с плавающей точкой двойной точности |
При отсутствии каких-либо суффиксов константы плавающего типа по умолчанию имеют тип данных double. Однако, можно присвоить константе с плавающей точкой тип данных float, добавив к ней суффикс f или F. Аналогичным образом, суффикс l или L присвоит константе тип данных long double. Это относится как к десятичным, так и к восьмеричным или шестнадцатеричным константам. Эти константы называются явно заданными.
|
|
Направление возрастания значимости
unsigned
int
long int (дополнение до 2)
float
double
long
double
s – знаковый бит(0- положительный, 1- отрицательный)
| | - позиция неявной двоичной точки
1- целочисленный бит мантиссы:
записывается в long double
неявно (всегда 1) в float, double
Смещенный порядок (нормализованные значения):
float - 127 (7FH)
double –1023 (3FFH)
long double – 16383 (3FFFH)