Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по информатике.docx
Скачиваний:
23
Добавлен:
11.08.2019
Размер:
276.37 Кб
Скачать
  1. Способы представления и хранения данных вЭвм

Двоичный разряд, или бит, представляется в компьютере с помощью некоторого физического устройства (например, триггера). Это устройство может находиться в одном из двух различных состояний, которым приписываются два различных значения: “двоичный 0” или “двоичная 1”. Набор соответствующего количества таких устройств используется для представления многоразрядных двоичных чисел.

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

Представление целых чисел

В форме представления чисел с фиксированной точкой положение точки фиксируется в определенном месте: либо перед старшим разрядом, либо после младшего разряда числа. В первом случае могут быть представлены только те числа, модуль которых не превышает 1. Во втором случае могут быть представлены только целые числа (именно этот случай мы и рассмотрим). На рис. 2.1 показана так называемая разрядная сетка для представления 16-разрядных целых двоичных чисел.

В компьютере, как правило, имеются несколько форматов для представления целых чисел, различающихся количеством используемых бит (см. табл. 2.1).

Представление вещественных чисел

В общем случае представление числа с плавающей точкой имеет следующий вид:

x = q´sp; |q| < 1,

где q - мантисса числа (правильная дробь); sp - так называемая характеристика числа x; s - основание характеристики; p - порядок, определяющий положение точки в числе x (может быть как положительным, так и отрицательным).

Примечание. Поскольку часть представления числа (порядок) выражена в логарифмической форме, это представление, как отмечалось выше, называется полулогарифмическим. Напоминаем, что если имеется показательная функция y = f(x) = ax, то обратная к ней функция называется логарифмической и обозначается x = f(y) = logay.

Применительно к двоичной системе счисления представление с плавающей точкой имеет вид:

x = q´2p; |q| < 1.

На рис. 2.2 показан пример разрядной сетки (32 бита) для представления чисел с плавающей точкой. Поскольку порядок (также как и мантисса) может быть как положительным, так и отрицательным, то под его знак следовало бы отвести один бит. Наличие двух знаков в представлении числа усложняет выполнение арифметических операций с вещественными числами. Поэтому для порядка (р) часто используют так называемое представление со смещением (или с избытком). В этом случае порядок всегда представляется положительным числом, а диапазон возможных его значений (например, от 0 до 255) делится на две части. Одна часть (от 0 до 127) отводится под представление отрицательных порядков, другая (от 129 до 255) - под представление положительных порядков, а “пограничное” значение 128 означает нулевой порядок (примерзаписи порядка с “избытком 128”)

Представление отрицательных чисел

Существуют три основных формы представления отрицательных чисел:

1. Прямой код. Отрицательное число, записанное в прямом коде, хранится в виде знака и абсолютной величины числа. Например, двоичное число - 11 представляется в прямом коде как 10000011, где крайняя левая единица указывает на то, что это отрицательное число; 00000011 обозначает абсолютную величину числа.

2. Обратный код. Обратный код отрицательного числа образуется путем инвертирования бит, представляющих абсолютное значение числа в записи прямого кода. Например, двоичное число -11 представляется в обратном коде как 11111100, где крайняя левая единица указывает на то, что это отрицательное число, а 11111100 является дополнением его абсолютной величины до 1.

3. Дополнительный код. Дополнительный код отрицательного числа образуется прибавлением 1 к младшему биту обратного кода этого числа. Другими словами, если i - положительное двоичное число, то -i - двоичный результат выражения 2n-i, где n - количество бит в байте или машинном слове. Например, число -11 представляется в дополнительном коде как 11111101.

В компьютерах для представления отрицательных чисел преимущественно используется дополнительный код. Это связано с тем, что дополнительный код позволяет избежать так называемой “проблемы двух нулей”, имеющей место в представлении как с прямым, так и с обратным кодом.

Кратко суть этой проблемы состоит в следующем. При выполнении вычислений на компьютере может возникнуть как “положительный”, так и “отрицательный” нуль. В прямом коде положительный нуль представляется как 000...0, а отрицательный нуль - как 100...0. Например, следующие простые вычисления, выполненные в прямом коде:

приводят к возникновению ситуации положительного и отрицательного нулей.

В обратном коде положительный нуль представляется как 011...1, а отрицательный - как 111...1. В качестве упражнения для самопроверки придумать примеры, аналогичные приведенным выше, которые иллюстрируют наличие двух различных представлений нуля для обратного кода.

Таким образом, в любой из рассмотренных двух систем кодов имеются по два различных (!) представления нуля. С математической точки зрения это некорректно, поскольку известно, что +0 = -0 = 0. Использование системы с дополнительным кодом “снимает” эту проблему, так как в этом случае отрицательный нуль отсутствует (-0)доп = 111...1+1 = 000...0

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

При выполнении алгебраического сложения двоичных чисел с использованием дополнительного кода положительные слагаемые представляются в прямом коде, а отрицательные - в дополнительном. Затем производится арифметическое суммирование этих кодов, включая биты знаков, которые рассматриваются как старшие биты. При возникновении переноса из бита знака единица переноса отбрасывается. Если полученная сумма положительна, то она рассматривается как число, записанное в прямом коде, в противном случае – как число, записанное в дополнительном коде.

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

Кодирование символьной информации

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

Для представления символьной информации в компьютерах наиболее часто используется 7-разрядный код ASCII (произносится “Эз-ки”). ASCII – это аббревиатура, образованная от слов “American Standard Code for Information Interchange” (переводится с английского как “американский стандартный код для обмена информацией”). В отечественной практике широко распространен аналог ASCII - код КОИ-7 (код для обмена информацией, 7-разрядный).

Код ASCII ставит в соответствие каждому символу уникальную комбинацию из семи бит (разрядов). Поскольку значащих бит всего семь, то таких комбинаций будет 27, т.е. 128 (начиная с 0000000 и заканчивая 1111111). Этого количества комбинаций бит вполне хватает, чтобы закодировать все прописные и строчные буквы алфавита (в случае ASCII - английского), все цифры десятичной системы счисления, все знаки препинания и специальные символы (например, $, &,@ и другие). Первые 32 комбинации бит зарезервированы под так называемые управляющие символы, такие, как “звонок”, “перевод строки” “возврат каретки” и другие, которые используются для управления экраном дисплея и печатающим устройством. Остальные 96 комбинаций относятся к так называемым печатным кодам и все они - за исключением первого (пробел) и последнего (забой символа) - соответствуют каким-то символам.

Для хранения одного символа информации в большинстве компьютеров используется один байт памяти. В байте может храниться 256 различных двоичных комбинаций (от 00000000 до 11111111). Если учесть содержимое табл. 2.2, остается еще 127 двоичных комбинаций (от 10000000 до 11111111) для представления других графических обозначений (символов псевдографики, букв национальных алфавитов и т.д.). Таким образом, одна половина таблицы кодов ASCII остается фиксированной, а другая - может быть наполнена различными символами, которым соответствуют коды в диапазоне от 128 до 255.