Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вещественные типы данных в языке Си

Вещественные типы всегда имеют знак. Для однозначной записи вещественных чисел используется нормализованная форма.

Определение 3. Нормализованной формой ненулевого числа x называется запись x = M ×10 p, где M – мантисса, 0,1 £ ½ M ½ < 1,
p – порядок числа х.

Нормализованная форма представления числа единственна. Для различных систем счисления нормализованные формы, естественно, различны.

Пример. 50 = 0,5·102 = 0,110012 · 26.

Стандартные вещественные типы представлены в табл. 4.

Таблица 4

Вещественные типы данных

Название типа Размер в байтах Размер мантиссы в десятичных знаках Размер порядка в битах Диапазон типа
Float   7-8   3,4×10-38 … 3,4×1038
double   15-16   1,7×10-308… 1,7×10308
long double   19-20   3,4×10-4932… 1,1×104932

Определение 4. Машинным нулем для данного вещественного типа называется минимальное положительное число того же типа:

m 0 = min { x: x > 0}.

Определение 5. Машинным эпсилон для данного вещественного типа называется минимальное число того же типа, для которого 1 + x > 1:

m e = min { x: 1 + x > 1}.

Определение 6. Машинной бесконечностью для данного вещественного типа называется максимальное число того же типа:

m ¥ = max { x }.

По диапазону типа можно определить m 0, m ¥. Машинный эпсилон определяется размером мантиссы в десятичных знаках. Так, например, для типа float имеем

m 0 = 3,4×10-38, m ¥ = 3,4×1038, m e» 10-8.

Определение 7. “Правым соседом” числа x данного вещественного типа назовем минимальное число y того же типа, для которого x < y:

“Правый сосед” х = min { y: x < y }.

“Правый сосед” числа х больше самого х на величину, равную

m e × 10порядок числа х .

Приближенно можно считать, что

“правый сосед” числа х» х + m e × x.

Например, для типа float “правый сосед” числа 1010 » 1010 + 10-8 × 1010 = 1010 + 100.

Таким образом, вещественные числа заданного типа расположены на числовой прямой неравномерно: чем больше числа, тем больше расстояние между соседними числами. Этот факт следует учитывать при организации циклов: шаг цикла должен быть больше, чем расстояние между соседними числами.

Покажем, каким образом параметры типа из табл. 4 связаны между собой.

Задача. Несуществующий вещественный тип doom занимает
15 байт, под порядок отведено 30 бит. Определить остальные параметры этого типа.

Решение. Порядок со знаком занимает 30 бит, поэтому минимальное двоичное значение порядка равно -229. Для перевода этого числа к десятичному основанию решим показательное уравнение
-229 = -10 х. Логарифмируя по основанию 10, получаем

х = 29 × lg 2» 29 × 0,3010 = 8,729.

Таким образом, m 0 равен

= » 0,5 × 10-161290865,49 » 1,54 × 10-161290865.

Мантисса в двоичной системе счисления занимает 90 бит, из которых один бит определяет знак мантиссы. Первые знаки двоичной мантиссы равны 0,12 и в силу ограничения 0,1 £ ½ M ½ < 1 всегда одинаковы. Поэтому память под 0,1 не отводится. Остальные 89 бит мантиссы занимают разряды с номерами от -2 до -90. “Правый сосед” единицы равен 0,100…0012 × 21, где последняя единица стоит в -90-м разряде. Тогда

m e = 2-89 = 10-89 × lg(2) = 10-26,79 = 6,17 × 10-26.

Таким образом, у типа doom размер мантиссы в десятичных знаках 26-27, диапазон типа в положительной части от 1,54 × 10-161290865 до 1,54 × 10161290865.

<== предыдущая лекция | следующая лекция ==>
Целочисленные типы данных в языке Си | Кодирование символов
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 1424; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.