- •Омский государственный технический университет
- •1. Из истории развития систем счисления
- •Пальцевый счет
- •1.2. Древнеегипетская система счисления
- •Вавилонская система счисления
- •1.4. Системы счисления, основанные на позиционном принципе
- •1.5. Системы счисления Древней Греции
- •1.6. Римская система счисления
- •1.7. Древнеславянская система счисления
- •2. Позиционная система счисления
- •2.1. Представление произвольного числа в позиционной системе счисления
- •2.2. Двоичная система счисления
- •2.3. Восьмеричная система счисления
- •2.4. Шестнадцатеричная система счисления
- •2.5. Перевод чисел в систему с кратным основанием
- •2.6. Перевод правильной дроби
- •Задания для самостоятельной работы №1
- •1. Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
- •2. Перевести данное число в десятичную систему счисления.
- •Контрольная работа №1
- •3. Двоичная арифметика
- •3.1. Сложение двоичных чисел
- •3.2. Вычитание двоичных чисел
- •3.3. Умножение в двоичной системе счисления
- •3.4. Деление двоичных чисел
- •4. Формы представления чисел в эвм
- •4.1. Числа с фиксированной запятой
- •4.2. Числа с плавающей запятой
- •4.3. Сложение (вычитание) чисел с плавающей запятой
- •4.4. Умножение чисел с плавающей запятой
- •4.5. Прямой код
- •4.6. Обратный код
- •1 0111111111111111 – Обр. Код второго числа
- •4.7. Дополнительный код
- •4.8. Признак переполнения разрядной сетки
- •4.9. Правило перевода из дополнительного кода в десятичную систему
- •4.10. Модифицированные коды
- •5. Форматы чисел в эвм
- •Задания для самостоятельной работы №2
- •Контрольная работа №2.2
- •Контрольная работа №2.3
- •Контрольная работа №2.4
- •6. Кодирование алфавитно-цифровой информации
- •6.1. Параметры алфавитно-цифровой информации
- •6.3. Стандарты кодирования символов ansi, кои-8 и unicode
- •7. Двоично-десятичные коды
- •7.2. Коды с избытком
- •7.5. Действия над двоично-десятичными числами
- •7.6. Сложение двоично-десятичных чисел
- •7.7. Вычитание модулей двоично-десятичных чисел
- •7.8. Умножение модулей двоично-десятичных чисел
- •8. Код грея
- •8.1. Строение кода Грея
- •8.2. Использование кода Грея
- •8.3. Алгоритмы преобразования кода Грея
- •9. Погрешности вычислений
- •9.1. Источники погрешностей
- •9.2. Абсолютная и относительная погрешности
- •9.3. Десятичная запись приближенных чисел Значащая цифра числа. Верная значащая цифра
- •9.4. Распространение ошибок
- •9.5. Правила подсчета цифр
- •9.6. Общие рекомендации, позволяющие уменьшить погрешность вычислений
- •9.7. Ошибки в программах, связанные с особенностью выполнения арифметических операций
- •10. Представление графической информации
- •10.1. Текстовый режим
- •10.2. Графический режим
- •10.3. Растровое графическое изображение
- •10.4. Векторная графика
- •10.5. Форматы графических файлов
- •11. Представление звуковой информации
- •11.1. Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •11.2. Компрессия звука
- •11.3. Формат Microsoft riff
- •11.6. Midi-форма звука
- •11.7. Аппаратные синтезаторы
- •11.8. Альтернативы звука в эвм
- •11.9. Звуковые платы
- •Задачи для самостоятельной работы
- •Приложение 3
- •Содержание
- •Литература
4.2. Числа с плавающей запятой
В машинах, предназначенных для решения широкого круга вычислительных задач, основным является представление чисел в формате с плавающей точкой, не требующее масштабирования данных. Однако в таких машинах часто наряду с этой формой представления чисел используется и представление чисел в формате с фиксированной точкой для целых чисел. Это связано с тем, что операции над этими числами занимают меньше времени. К таким операциям относятся операции адресной арифметики.
Представление числа с плавающей точкой в общем случае имеет вид:
, (4.1.)
где – мантисса числа ; – характеристика числа ; – порядок; – основание характеристики (обычно целая степень числа 2).
Мантисса (дробь со знаком) и порядок (целое число со знаком) представляются в системе счисления с основанием, равным S (в соответствующей двоично-кодированной форме). Знак числа совпадает со знаком мантиссы.
Порядок , который может быть положительным или отрицательным целым числом, определяет положение точки в числе . Одна часть бит формата используется для представления порядка, а другая – мантиссы.
Арифметические действия над числами с плавающей точкой требуют выполнения помимо определённых операций над мантиссами определённых операций над порядками. Для упрощения операций над порядками их сводят к действиям над целыми положительными числами (целыми числами без знаков), применяя для представления порядков смещённый код (представление чисел с плавающей точкой со смещённым порядком).
В случае представления числа с плавающей точкой со смещённым порядком к его порядку p прибавляется целое число – смещение , где – число двоичных разрядов, используемых для модуля порядка. Смещённый порядок всегда положителен.
При фиксированном числе разрядов мантиссы любая величина представляется в машине с наибольшей возможной точностью нормализованным числом.
Число называется нормализованным, если мантисса удовлетворяет условию 1 > .
В процессе вычислений может получаться ненормализованное число. В этом случае машина, если это предписано командой, автоматически нормализует его («нормализация результата» операции).
Пусть старших разрядов мантиссы равны 0. Тогда нормализация заключается в сдвиге мантиссы на r разрядов влево и уменьшения порядка на единиц. При этом в младшие разряды мантиссы записываются нули. При нулевой мантиссе нормализация невозможна.
Пример 4.1. Нормализовать двоичное число.
Ненормализованное двоичное число:
Нормализованное двоичное число:
Пример 4.2. Нормализовать двоичное число.
Ненормализованное двоичное число:
Нормализованное двоичное число:
Диапазон представимых в машине чисел с плавающей точкой зависит от основания системы счисления и числа разрядов, выделенных для изображения порядка. Точность вычислений при плавающей точке определяется числом разрядов мантиссы.
Наличие в ЭВМ нескольких длин форматов для представления чисел позволяет с учётом требований задачи выбирать или короткие форматы для чисел и тем самым экономить память машины и снижать продолжительность операций ЭВМ, или использовать более длинные форматы для получения большей точности.
Для представления чисел с плавающей точкой разработан стандарт, применяемый при разработке микропроцессоров для персональных компьютеров, в частности фирмой Intel.
По этому стандарту для представления порядка используется смещённый код с отрицательным нулём, а условие нормализованности числа имеет вид
2 > 1.
Мантисса представляется прямым кодом (модуль и знак) со "скрытым" старшим разрядом, имеющим вес 1.
Согласно стандарту смещение порядка равно ( ), где – число разрядов кода порядка. Код , содержащий во всех разрядах 1 не используется. Он зарезервирован для указания на переполнение порядка или потерю значимости мантиссы ( = 0), при этом положительное и отрицательное переполнения идентифицируются соответственно положительной и отрицательной мантиссами, содержащими в обоих случаях 1 во всех цифровых разрядах. Указанием на потерю значимости мантиссы служит отрицательность мантиссы с 0 во всех цифровых разрядах. При нулевых кодах порядка и мантиссы представляемое число полагается равным нулю.