- •Понятие информатики
- •Первое поколение эвм.
- •Второе поколение эвм.
- •Третье поколение эвм.
- •Четвертое поколение эвм.
- •Пятое поколение эвм.
- •Архитектура персонального компьютера
- •Экспоненциальное развитие компьютерной техники
- •Структура процессора.
- •Архитектура системы команд. Классификация процессоров (cisc и risc)
- •Характеристика процессоров на основе архитектуры pa-risc
- •Процессоры Intel и amd
- •Модельный ряд процессоров Intel.
- •Логические элементы. Вентили
- •1) Инверсия (логическое отрицание).
- •2) Дизъюнкция (логическое сложение).
- •3) Конъюнкция (логическое умножение).
- •Двоичное и шестнадцатиричное представление чисел
- •Ленточные библиотеки
- •Флэш-накопители
- •1. Usb Flash-накопители. Принцип устройства. Основные параметры. Преимущества и недостатки.
- •Raid -массивы
- •Повышение быстродействия
- •Примеры задающих и подчиненных устройств
- •Bios: Базовая система ввода-вывода.
- •Режимы управления вводом-выводом
- •Основные системные таблицы ввода-вывода
- •Клавиатура компьютера
- •Insert (вставлять) – переключает режимы вставки (новые символы вводятся посреди уже набранных, раздвигая их) и замены (старые символы замещаются новыми);
- •Представление чисел с плавающей точкой
- •0.111100111 Порядок 7
- •Языки ассемблера
- •Лекция №7
- •Эффективность виртуальной памяти
- •Сегментная организация виртуальной памяти
- •Страничная организация виртуальной памяти
- •Сегментно-страничный способ организации виртуальной памяти
- •Организация файловой системы
- •Программное обеспечение.
- •Лекция №8
Представление чисел с плавающей точкой
Практически любой язык программирования даёт возможность использовать в вычислениях дробные числа. Когда дело касается программной реализации численных методов или любых других вычислений на ЭВМ, важным вопросом является внутреннее представление чисел, с которым приходится работать программисту. От этого главным образом зависит точность вычислений,а также их скорость.
В этом отчёте будут рассматриваться те аспекты представления чисел в ЭВМ, которые важны пользователям, желающим активно работать с вещественными величинами. Вначале будут введены общепринятые понятия для дальнейшего изложения материала. Будет достаточно подробно рассмотрен наиболее часто используемый стандарт IEEE 754. В заключение будут приведены способы доступа к основным параметрам представления вещественных чисел в ряде компиляторов (Microsoft Visual Studio (2003,2005), Borland C (3.1), GCC(3.4) ).
Числа с плавающей точкой
Числа с плавающей точкой - общепринятая форма представления действительных чисел в ЭВМ. Основными параметрами такой формы представления является основание степени (base) и точность (precision). При этом всегда требуется, чтобы основание степени было целым чётным числом. Если и , то число 0.1 представляется в виде . Однако, очевидно, что при определённых параметрах некоторые числа не удастся представить точно. Например, при и то же самое число 0.1 представляется приблизительно в виде (поскольку в бинарном представлении число 0.1 имеет бесконечный вид).
В общем случае при заданных параметрах запись вида представляет число
При этом называется мантиссой числа и состоит из позиций. В дальнейшем под числом с плавающей точкой мы будем понимать действительные числа точно представимые в смысле данной формы.
Существуют ещё два важных параметра — максимальный и минимальный показатели степени и . Таким образом, при фиксированных параметрах мы можем представить разных чисел с учётом знака.
Здесь возникает проблема - что делать с числами, не представимыми точно. Чаще всего такая ситуация возникает при попытке представить числа, имеющие слишком длинное или вообще бесконечное представление (пример с 0.1). В этом случае нужное нам число лежит где-то между двумя числами с плавающей точкой и будет представляться одним из них. Реже встречается попытка использовать числа, меньшие чем , или большие чем . Подробнее об этих случаях речь пойдёт в разделе "Стандарт IEEE".
Введём ещё одну договорённость. Пока что представление чисел с плавающей точкой неуникально. Например, при и число 0.1 можно представить как и как . Представление числа, в старшей позиции которого стоит цифра, отличная от нуля , мы будем называть нормализованным. Использование нормализованных форм решает проблему неединственности представления чисел с плавающей точкой. (Однако, при такой договорённости возникает интересный вопрос — как представлять 0?)
Представление чисел с плавающей точкой - это представление числа с помощью двух других чисел: мантиссы (дробь от 0 до 0.999 ... ) и порядка, или характеристики (степень числа 10, на которую надо умножить мантиссу, чтобы получить исходное число).
Например, мантисса числа 64.5 - это число 0.645, а порядок - число 2, так как 64.5 = 0.645 Ч 102. Мантисса числа 0.0000012 - это число 0.12, а порядок - число -5, потому что 0.0000012 =0.12 Ч 10-5.
Операции над числами с плавающей точкой
Рассмотрим два числа с плавающей точкой: а Ч 10n и b Ч 10m. Произведение этих чисел равно (а Ч b) Ч 10n+m, а частное - (а/b)Ч 10n-m
Для сложения этих чисел требуется равенство п и m. При условии n = m сумма чисел равна (а + b) Ч 10n.
Задача. Найти сумму чисел А = 5.5 и В = -127.25
Решение. Найдем мантиссы и порядки этих чисел:
а) А = 5.5 = 101.12 = 0.10112 Ч 23 => мантисса равна 0.101101, порядок равен 3
б) В = -127.25 = -1111111.012 = -0.1111111012 Ч 27 => мантисса равна 0.111111101, порядок равен 7. Произведем выравнивание:
А= 0.00001011Ч 27
В = -0.111111101Ч 27
Получили два числа с одинаковым порядком.
Сложим их. А и В имеют разные знаки, поэтому сложение сводится к вычитанию. Так как абсолютное значение В больше абсолютного значения А, то вычитаем А из -В, а затем меняем знак.
-В : 0.111111101 порядок 7
А : -0.000010110 порядок 7
