ОБОСНОВАНИЕ ВЫБОРА СРЕДСТВ РАЗРАБОТКИ И РЕАЛИЗАЦИИ ИНФОРМАЦИОННОЙ СИСТЕМЫ. Представление чисел в компьютере естественная и нормальная формы
Скачать 352.03 Kb.
|
Занятие 5 Лекция 5 Тема: Представление чисел в компьютере: естественная и нормальная формы. Цель: научиться различать естественную и нормальную формы представления чисел, познакомиться с прямым, обратным и дополнительным кодами План Естественная и нормальная формы. Прямой, обратный и дополнительный коды. Представление чисел в компьютере: естественная и нормальная формы. В ЭВМ применяются две формы представления чисел: • естественная форма, или форма с фиксированной запятой (точкой) — ФЗ (ФТ); • нормальная форма, или форма с плавающей запятой (точкой) - ПЗ (ПТ). Фиксированная запятая (точка). В форме представления с фиксированной запятой (точкой) числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой, отделяющей целую часть от дробной. Например, пусть числа представлены в десятичной системе счисления и имеют пять разрядов в целой части числа (до запятой) и пять в дробной части (после запятой). Числа, записанные в такую разрядную сетку, имеют вид: +00721.35500. +00000.00328. -10301.20260. Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому чаще всего неприемлема при вычислениях. В компьютерах естественная форма представления используется как вспомогательная и только для целых чисел. В памяти ЭВМ числа с фиксированной точкой хранятся в трех форматах: а) полуслово — это обычно 16 бит, или 2 байта; б) слово — 32 бита, или 4 байта; в) двойное слово — 64 бита, или 8 байтов. Отрицательные числа с ФТ записываются в разрядную сетку в дополнительных кодах, которые образуются прибавлением единицы к младшему разряду обратного кода. Обратный код получается заменой единиц на нули, а нулей на единицы в прямом двоичном коде. Плавающая запятая (точка). В форме представления с плавающей запятой (точкой) число изображается в виде двух групп цифр: • мантисса; • порядок. При этом абсолютная величина мантиссы должна быть меньше 1, а порядок должен быть целым числом. В общем виде число в форме с плавающей запятой может быть представлено так: N=±M*P±r, где М —мантисса числа (|М\ <1); r —порядок числа (целое число); Р— основание системы счисления. Например, приведенные ранее числа в нормальной форме запишутся следующим образом: +0,721355 *103; +0,328 * 10-3; -0,103012026 * 105. Нормальная форма представления обеспечивает большой диапазон отображения чисел и является основной в современных компьютерах. Следует заметить, что все числа с плавающей запятой хранятся в машине в так называемом нормализованномвиде. Нормализованнымназывают такое число, старший разряд мантиссы которого больше нуля. У нормализованных двоичных чисел, следовательно, 0,5 < | М\ <1. Нормализованные, т. е. приведенные к правильной дроби, числа: 10,3510= 0,103510 *10+2; 0,000072458=0,72458*8-4; F5C,9B16=0,F5C9B,6*16+3; В памяти ЭВМ числа с ПТ хранятся в двух форматах: • слово — 32 бита, или 4 байта; • двойное слово — 64 бита, или 8 байт. Разрядная сетка для чисел с ПТ имеет следующую структуру: • нулевой разряд — это знак числа (0 — «минус», 1 — «плюс»); • с 1 по 7 разряд записывается порядок в прямом двоичном коде, пустые разряды заполняются нулями. В первом разряде указывается знак порядка (1 — «плюс» или 0 — «минус»); • с 8 по 31 (63) указывается мантисса, слева направо без нуля целых в прямом двоичном коде и для отрицательных чисел и пустые разряды заполняются нулями. Алгебраическое представление двоичных чисел: прямой, обратный и дополнительный коды. При хранении информации в памяти ЭВМ каждый вид хранится в одном разряде памяти, а разряды объединяются в ячейки памяти фиксированного размера. При записи цифр с фиксированной точкой, положение точки фиксируется в определенном месте относительно к разрядам числа. При приставлении числа со знаком для кода, выделяется знаковый разряд (обычно крайний слева) «+» = 0 и «-» = 1 – кодируется. Прямой код числа. а = +0101 = 0.0101 в = -1010 = 1.1010 Прямой код числа совпадает с записью положительного числа. Пример: Рассмотрим однобайтовое представление двоичного числа. Пусть это будет 28(10). В двоичном формате - 0011100(2) (при однобайтовом формате под величину числа отведено 7 разрядов). Двоичное число со знаком будет выглядеть так, как показано на рис. 2.1. Рис. 2.1. Формат двоичного числа со знаком в прямом коде а - положительное число; б - отрицательное Сложение в прямом коде чисел, имеющих одинаковые знаки, достаточно просто: числа складываются, и сумме присваивается знак слагаемых. Значительно более сложным является алгебраическое сложение в прямом коде чисел с разными знаками. В этом случае приходится определять большее по модулю число, производить вычитание модулей и присваивать разности знак большего по модулю числа. Такую операцию значительно проще выполнять, используя обратный и дополнительный коды. Обратный код числа. а = +0101 = 0.0101 Обратный код положительного числа совпадает с прямым кодом. в = -1010 = 1.0101 Обратный код отрицательного числа образуется так: В знаковом разряде 1. В цифровых разрядах 1 заменяется на 0, а 0 на 1. Пример: Вычислить выражение -3(10) -2(10). Пример: Вычислить 7(10) -3(10). Указанные трудности привели к тому, что в современных ЭВМ абсолютное большинство операций выполняется в дополнительном коде. Дополнительный код числа. а = +0101 = 0.0101 Дополнительный код положительного числа совпадает с прямым кодом. в = -1010 = Дополнительный код отрицательного числа образуется так: В знаковом разряде 1. В цифровом разряде 1 заменяется на 0, а 0 на 1. К последнему разряду прибавляется 1. Модифицированный код числа. Отличается тем, что для изображения знака числа в нем отводится два разряда (положительная кодировка 00, отрицательная 11). Такие коды оказались удобны (с точки зрения построения АЛУ) для выявления переполнения разрядной сетки. Если знаковые разряды результата принимают значение 00 и 11, то переполнения разрядной сетки не было, а если 01 или 10 - то было переполнение. а = -11001 в = +11001 = 11.00110 = 00.11001 = = 00.11001 Пример: Контрольные вопросы: Какие две формы представления чисел применяются в ЭВМ? Как изображаются числа в форме с фиксированной запятой (точкой)? Как изображаются числа в форме с плавающей запятой (точкой)? Что такое нормализованное число? В каких двух форматах хранятся числа с плавающей запятой (точкой) в памяти ЭВМ? Приведите примеры записи прямого кода числа для положительных и отрицательных чисел. Как образуется обратный код отрицательного числа? Как образуется дополнительный код отрицательного числа? Чем отличается модифицированный код числа от остальных кодов? |