Курс: Элементы компьютерной математики компьютерной математики Лектор – Склярова Елена Александровна.

Презентация:



Advertisements
Похожие презентации
Лекция 3. Лекция 3. Кодирование информации в ЭВМ : 1)Представление чисел в разрядной сетки в форме с фиксированной запятой, с плавающей запятой. 2)Кодирование.
Advertisements

Представление чисел в компьютере Терехова Н.А.. Представление чисел в формате с фиксированной запятой.
Представление чисел в компьютере автор: Хайманова Т.Я. май 2008 г.
Кодирование информации Представление чисел в компьютере.
«Двоичная арифметика, алгоритм сложения». Учебные вопросы: 1. Правила недесятичной арифметики. 2. Способы представления чисел в разрядной сетке ЭВМ.
Представление числовой информации в ПК Мясникова О.К.
Представление числовой информации в ПК Диденко В.В.
Представление чисел в компьютере. Числовые данные обрабатываются в компьютере в двоичной системе счисления. Числа хранятся в оперативной памяти в виде.
Представление чисел в компьютере Обучающая презентация 9 класс.
Целые числа. Целые числа без знака (только положительные) Целые числа со знаком (положительные и отрицательные) Для хранения чисел в памяти отводится.
Представление чисел в компьютере. Представление чисел в формате с фиксированной запятой Этот формат используется для хранения целых чисел. Каждому разряду.
номера разрядов 01 …n-2n-1n-1 знаковый разряд разряды модуля числа 0 – положительные числа 1 – отрицательные числа значения разряд.
Машинные коды чисел В компьютере все арифметические операции над числами сводятся к операциям арифметического сложения и сдвигу кодов.
Представление чисел в компьютере 1.Представление целых положительных чисел. 2.Представление целых отрицательных чисел. 3.Особенности реализации арифметических.
Представление чисел в компьютере 1. Представление чисел в формате с фиксированной запятой 2. Представление чисел в формате с плавающей запятой.
Представление чисел в ЭВМ. 2 Способы представления чисел целые положительные числа (без знака) целые со знаком вещественные нормализованные числа.
Числа в памяти компьютера 9 класс. Все числовые данные хранятся в памяти компьютера в двоичном виде, т. е. в виде последовательностей нулей и единиц,
Представление чисел с плавающей запятой Вещественные числа (конечные и бесконечные десятичные дроби) хранятся и обрабатываются в компьютере в формате.
Представление чисел в формате с плавающей запятой.
Представление числовой информации Числовые данные обрабатываются в компьютере в двоичной системе счисления. Числа хранятся в оперативной памяти в виде.
Транксрипт:

Курс: Элементы компьютерной математики компьютерной математики Лектор – Склярова Елена Александровна

Тема: Элементы компьютерной математики (ЭКМ) III. Элементы машинной арифметики 1.Коды для представления чисел со знаком 2.Формы представления чисел 3.Диапазон и точность представления чисел 4.Сложение и вычитание чисел с фиксированной запятой 5.Умножение и деление чисел с фиксированной запятой 6.Десятичные операции Лекция 7

Коды для представления чисел со знаком Чисел без знака (ЧБЗ), конечно, недостаточно для обеспечения вычислительных работ. Естественное же представление знаков «+» и «-» годится только для ввода-вывода. Например, можно записать: - 45 = = и т.п. При вычислениях знак числа кодируют. Обычно так: код знака «плюс» - это 0, знак «минус» - 1.

Коды для представления чисел со знаком Для представления чисел со знаком принято использовать три таких специальных кода: - прямой код; - обратный код; - дополнительный код.

Коды для представления чисел со знаком Проще всего записываются числа в прямом коде: (45) пр = 0.45 = = , (– 45) пр = 1.45 = 1,55 8 = , (– 45,5) пр = 1.45,5 = 1.55,4 8 = ,1 2. Точка «.» в записи прямою кода отделяет знаковый разряд от цифровых разрядов.

Коды для представления чисел со знаком Правило получения прямого кода: цифровые разряды числа не изменяются, знаковый разряд отделяемся от них точкой. !!!, для положительных чисел все три кода совпадают. Поэтому формируем правило получения обрат­ного кода для отрицательных чисел: цифровые разряды двоичного числа инвертируются.

Коды для представления чисел со знаком Примеры. (– 45) обр = (– ) обр = , (– 45,5) обр = (– ,1 2 ) обр = ,0 2. Если система не двоичная (q 2), действует общее правило: каждая цифра дополняется до значения (q – 1).

Коды для представления чисел со знаком Примеры. (– 45) обр = 1.54 = (– 45,5) обр = 1.54,4 обр = Нуль в прямом и обратном кодах имеет двоякое представление: (+ 0) пр = 0.0 … 0, (– 0) пр = , (+ 0) обр = 0.0 … 0, (– 0) обр = = 1.9 … 9 =... Дополнительный код отрицательного числа может быть получен прямо или косвенно (через обратный код).

Коды для представления чисел со знаком Прямое правило: цифровые разряды отрицательного числа инвертируются, за исключением самой правой единицы и, возможно, стоящих за ней нулей (эта единица и нули не изменяются).

Коды для представления чисел со знаком Примеры. (– 45) доп = (– ) доп = , (– 45,5) доп = (– ,1 2 ) доп = ,1 2, (– 10) доп = (– 1010) 2 доп = Общее правило для системы с основанием q: каждая цифра дополняется до значения (q - 1), за исключением самой правой значащей цифры и, возможно, стоящих за ней нулей (эта цифра дополняется до значения q, а нули не изменяются).

Коды для представления чисел со знаком Примеры. (– 45) доп = 1.55 = (– 45,5) доп = 1.54,5 = (– 10) доп = 1.90

Коды для представления чисел со знаком Косвенное правило: к обратному коду отрицательного числа надо добавить единицу в младшем разряде. Интересной особенностью дополнительного кода является наличие единственного кода нуля: (0) доп = (+ 0) доп = 0.0 … 0, Это следует из косвенного правила для (– 0): (– 0) доп = (– 0) обр + 1 = 1.1 … = [1] 0.0 … 0 2. Здесь в сложении участвуют все разряды, включая знаковый.

Коды для представления чисел со знаком Невостребованность кодовой комбинации для (– 0) позволяет несколько расширить диапазон значений, представимых в дополнительном коде. Наибольшее по абсолютной величине отрицательное число имеет при общем количестве цифровых разрядов дополнительного кода n значение (– 2 n ): (– 2 n ) доп = (– 1 0 … 0 2 ) = 1.0 … 0 2. n

Коды для представления чисел со знаком Это следует хотя бы из логики такой числовой последовательности: (– 6) доп = (– ) доп = (–7) доп = (–111 2 ) доп = (–8 = –2 3 ) доп = (–10002) доп = Здесь справа – последовательные убывающие двоичные числа (точка- разделитель игнорируется). Каждый из трех видов кода имеет модификацию. В модифицированном коде – не один, а два знаковых разряда. Они имеют одинаковые значения (00 или 11).

Формы представления чисел в ЭВМ Классификацию числовых форматов можно провести по трем признакам: – основание системы счисления; – наличие дробной части (целые или дробные числа); – наличие экспоненциального множителя (числа с фиксированной или плавающей запятой).

Формы представления чисел в ЭВМ В ЭВМ используются обычно 3 – 4 формата: целые числа (двоичные; запятая фиксирована после младшего разряда); числа с фиксированной запятой (двоичные; дробные; запятая фиксирована после знакового разряда); числа с плавающей запятой (двоичные; дробные; имеются мантисса и порядок – показатель степени основания системы счисления); десятичные числа (целые; запятая фиксирована после младшего разряда).

Формы представления чисел в ЭВМ В современных ЭВМ «классический формат» с фиксированной запятой не используется. Его роль вполне реализует формат целых чисел (рис.1). Кстати, при выполнении арифметических операций разница между этими форматами проявляется только на уровне умножения и деления. Код – дополнительный. Рис. 1. Пример формата «целые числа» Цифровые разряды

Формы представления чисел в ЭВМ Двоичные числа с плавающей запятой (рис. 2) имеют мантиссу (m x ) и порядок (р х ): X = m x * 2 Рx Рис. 2. Пример формата с плавающей запятой Мантисса (цифровые разряды) Характеристика

Формы представления чисел в ЭВМ Мантисса числа – это правильная дробь (|m x | < 1), представлена в прямом коде Знаковый разряд ее, или, что то же, знаковый разряд числа, – разряд {31}. Количество цифровых разрядов мантиссы в примере – 24. Характеристика представляет собою число без знака ( 0), а именно – порядок, смешенный в неотрицательную область: Н х = р х + 64 = , р х = Н х – 64 = –64 … 63.

Формы представления чисел в ЭВМ Выполнение действий +/– над порядками, представленными в дополнительном коде, практически равнозначно аналогичным действиям над характеристиками. Способ кодирования знака при этом особой роли не играет. Сложение знаковых разрядов, правда, нужно «инвертировать» (вместо реализуется ). Порядок р (доп. код) Характеристика Н = р …………… – …...……… 15– –

Формы представления чисел в ЭВМ Наибольшей точности числа с плавающей запятой соответствует его нормализованное представление: 2 –1 m x < 1. Таким образом, старшая двоичная цифра мантиссы должна быть единицей.

Формы представления чисел в ЭВМ Десятичные числа в старых «больших» машинах (ЕС ЭВМ) представлены полями переменной длины – от 1 до 16 байтов. Ввод-вывод их осуществляется в распакованном (неупакованном, зонном) Z- формате (рис3.а), а обработка – в упакованном Р- формате (рис. 3б). Рис. 3. Форматы десятичных чисел Зона Цифра Знак Цифра… … Цифра Цифра Знак… …

Формы представления чисел в ЭВМ «Зона» в неупакованном формате – это = F 16. Вместе с последующей двоичной тетрадой, представляющей десятичную цифру, зона образует байт символа, кодируемого в ДКОИ («Двоичный код обмена информацией»). Код знака (в последнем, младшем байте) С, Е или Р 16 для « + » и D 16 для « – ». В упакованном формате каждый байт, кроме последнего, содержит 2 десятичных цифры. Это означает, что десятичный операнд может иметь от 1 до 31 разряда.

Формы представления чисел в ЭВМ Код для чисел со знаком – прямой. Самое правое положение тетрады знака благоприятствует побайтному (последовательно-параллель­ному) выполнению арифметической операции, начинающейся с младших разрядов операндов. В алгебраическом сложении используется дополнительный код, и для преобразования отрицательных операндов и результатов «прямой-дополнительный- прямой» требуется значительное время.

Диапазон и точность представления чисел Диапазон представления целых ч и с е л, заданных в формате {0:n} (n – количество цифровых разрядов, равное 15 для случая рис. 1), определяется двояко: Х min X Х max 0 X min X X max Учитывая особенность представления максимальных по абсолютной величине отрицательных чисел в дополнительном коде, получаем: Х min = –2 n, Х max = –2 n –1 X min = 1, X max = 2 n,

Диапазон и точность представления чисел Для n = 15 (рис.1) находим: –2 15 = – X 2 15 – 1 = , 1 X Машинное представление здесь таково: (Х min ) доп = 1.0 … 0 2 n (Х max ) доп = 0.1 … 1 2 n

Диапазон и точность представления чисел Точность представления чисел связывается обычно с количеством значащих цифр (двоичных, десятичных,...). Для целых форматов оценка этой точности фактически равнозначна оценке диапазона. Она определяется n двоичными разрядами. Для получения более привычной десятичной оценки можно воспользоваться естественным соотношением: 2 x 10 y, X lg 2 y, у 0,3010 х 0,3 х. Десятичная точность целых форматов – 0,3n. Например, 15 х 0,3 = 4,5.

Диапазон и точность представления чисел Диапазон для чисел с плавающей запятой абсолютно симметричен (в силу прямого кода мантиссы): X min = X max = X max, Поэтому здесь интерес представляет только диапазон для модуля: X min норм X X max. Индекс «норм» означает нормализованность чисел с плавающей запятой: 2 –1 m x < 1. Старшая двоичная цифра мантиссы должна быть 1.

Диапазон и точность представления чисел X min норм 2 –1 * 2 –64 = 2 –65 10 –19. X max = (1 – 2 –n m ) * Здесь n m – количество двоичных цифровых разрядов мантиссы (на рис.2 их 24). !!! Разрядность мантиссы существенно определяет точность чисел с плавающей запятой.

Диапазон и точность представления чисел Значащие цифры числа, независимо от его представления, – это значащие цифры мантиссы. 24-разрядная мантисса (рис. 2) соответствует точности 7 десятичных цифр. Диапазон и точность представления десятичных чисел, как и чисел с фиксированной запятой (в частности, целых), оцениваются одинаково – длиной формата. Оценка для симметричного диапазона в случае упакованного 16- байтного формата (рис. 3): 0 1 | х | – 1, для точности – 31 десятичная цифра.

Сложение и вычитание чисел с фиксированной запятой Сложение и вычитание представляют пару операций «типа сложения», т.е. алгебраическое сложение, которое, в свою очередь, можно понимать как сложение чисел со знаком, заданных в обратном или дополнительном коде. Вычитание может выполняться непосредственно (с использованием, например, специальных операционных элементов – вычитателей) или косвенно, путем сведения его к сложению: Z : = X – Y = X + (–Y)

Сложение и вычитание чисел с фиксированной запятой В последнем случае достаточно, как видно, изменить знак второго операнда. Если операнды (и результат) представлены в дополнительном коде, изменение знака производится путем инверсии всех разрядов и добавления 1 в младшем разряде. Например, Y = 5 ~ –Y = –5 ~ ____ = (–5) доп, и наоборот, Y = –5 ~ –Y = 5 ~ ____ = (5) доп.

Сложение и вычитание чисел с фиксированной запятой Правила алгебраического сложения чисел в обратном и дополнительном кодах тривиальны: обратные или дополнительные коды операндов суммируются как обыкновенные числа без знака, возможная единица переноса из знакового разряда (старшего знакового разряда, если код модифицированный) циклически переносится в младший разряд для второго суммирования (обратный код) или отбрасывается (дополнительный код). « + » – знак операции сложения с циклическим переносом (Пример 1).

Сложение и вычитание чисел с фиксированной запятой Пример 1. Х = –5 X обр = Y = 7 Y обр = __________ ____________ Z = ____________ Z обр =

Сложение и вычитание чисел с фиксированной запятой Пример 2. Х = 5 X доп мод = Y = -7 Y доп мод = __________ ____________ Z = -2 Z доп мод =

Сложение и вычитание чисел с фиксированной запятой Вообще, при сложении чисел с разными знаками в дополнительном коде отсутствие переноса свидетельствует об отрицательном результате (как в Примере 2), а наличие – о результате положительном или нулевом (Пример 3). Пример 3. Х = 5 X доп = Y = -5 Y доп = __________ ____________ Z = 0 Z доп = р вых = 1

Сложение и вычитание чисел с фиксированной запятой В обратном коде отсутствие выходного переноса свидетельствует о неположительном результате (Пример 4), а наличие его – о результате положительном (Пример 1). Пример 4. Х = 5 X обр = Y = -5 Y доп = __________ ____________ Z = 0 Z обр = = (- 0) обр р вых = 0

Сложение и вычитание чисел с фиксированной запятой Обнаружение переполнения разрядной сетки при сложении может производиться несколькими способами. Самый простой способ – использование модифицированного кода (с двумя знаковыми разрядами). Старший знаковый разряд даже при переполнении сохраняет информацию о знаке результата («Разряд знака»). Младший – «Разряд переполнения». Комбинация знаков при «положительном» переполнении – 01, при «отрицательном» – 10.

Сложение и вычитание чисел с фиксированной запятой Пример 5. Х = 3 X доп мод = Y = 6 Y доп мод = __________ ____________ Z = 9 > 7 Z доп мод ~ (положительное переполнение) Пример 6. х = - 3 X доп мод = у = - 6 Y доп мод = __________ ____________ z = - 9 < 8 Z доп мод ~ (отрицательное переполнение)

Сложение и вычитание чисел с фиксированной запятой В примере 6 указано граничное значение (- 8), которое может быть представлено без переполнения: (-8) доп мод = Недостаток способа модифицированного кода расширение разрядной сетки на один разряд.

Сложение и вычитание чисел с фиксированной запятой Второй способ обнаружения переполнения - сравнение переносов в знаковый разряд и из знакового разряда. Переполнение - при несовпадении этих переносов. Фактически здесь тоже «задействован» модифицированный дополнительный код. Случай А. Неотрицательные операнды Перенос «в» Сумма первичная Сумма конечная Х 0. Х.

Сложение и вычитание чисел с фиксированной запятой Правило сравнения переносов дает значение признака переполнения: φ р = 0 X = X (переполнение при X = 1). Слева от штриховой черты показаны значения воображаемого модифицированного дополнительного кода. Правило этого способа дает такое же значение признака переполнения: φ м = 0 X = X

Сложение и вычитание чисел с фиксированной запятой Случай В. Отрицательные операнды. Здесь тоже φ р = φ м = 1 X = X (переполнение может быть только отрицательное - при отсутствии переноса из старшего цифрового разряда) Перенос «в» Сумма первичная Сумма конечная Х 0. Х.

Сложение и вычитание чисел с фиксированной запятой Случай С. Операнды имеют разные знаки Оба признака переполнения снова совпадают, они имеют нулевые значения (переполнение в принципе невозможно): φ р = Х X = 0 φ м = Х X = Перенос «в» Сумма первичная Сумма конечная Х1ХХ1Х Х 0. Х.

Сложение и вычитание чисел с фиксированной запятой Третий способ - сравнение знаков. Реализуется программно (микропрограммно). Сначала проверяется, имеют ли операнды одинаковые знаки. И, если имеют, совпадает ли с этими знаками знак результата. Переполнение соответствует несовпадению (рис. 4). Рис. 4. Обнаружение переполнения

Лекция окончена Нажмите клавишу для выхода