Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике.doc
Скачиваний:
88
Добавлен:
17.02.2016
Размер:
3.32 Mб
Скачать

Контрольные вопросы

  1. КакВы понимаете понятие информации и какое определение можно дать?

  2. Как называется форма представления информации?

  3. Какие существуют подходы к определению количества информации и кто их открыл?

  4. Чем отличается байт от бита?

  5. Более крупные единицы измерения информации и как они определяются?

  6. Сколько различных информации можно написать одним байтом и обоснуйте почему?

  7. В чем состоит процедура дискретизации непрерывной информации?

  8. Что такое кодирование?

  9. Какая форма представления информации - непрерывная или дискретная приемлема для компьютеров и почему?

  10. В чем отличие позиционной системы счисления от непозиционной?

Лекция №4. Тема: Представление информации в компьютере

Цель: Показать как информация представляется в компьютере.

Ключевые понятия: Кодирование, декодирование, форма с фиксированной запятой, форма с плавающей запятой, прямой код, обратный код, дополнительный код.

Формирование представления информации называется ее кодированием. В более узком смысле под кодированием понимается переход от исходного представления информации, (удобного для восприятия человеком, к представлению, удобного для хранения, передачи и обработки. В этом случае обратный переход называется декодированием.

Информация в памяти ЭВМ записывается в форме цифрового двоичного кода.

Представление чисел в ЭВМ

В ЭВМ применяются две формы представления чисел:

  • естественная форма, или форма с фиксированной запятой (точкой) — ФЗ (ФТ);

  • нормальная форма, или форма с плавающей запятой (точкой) - ПЗ (ПТ).

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

Например, пусть числа представлены в десятичной системе счисления и имеют пять разрядов в целой части числа (до запятой) и пять в дробной части (после запятой). Числа, записанные в такую разрядную сетку, имеют вид:

+00721.35500.

+00000.00328.

-10301.20260.

Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому чаще всего неприемлема при вычислениях.

В компьютерах естественная форма представления используется как вспомогательная и только для целых чисел.

В памяти ЭВМ числа с фиксированной точкой хранятся в трех форматах:

а) полуслово — это обычно 16 бит, или 2 байта;

б) слово — 32 бита, или 4 байта;

в) двойное слово — 64 бита, или 8 байтов. Отрицательные числа с ФТ записываются в разрядную сетку в дополнительных кодах, которые образуются прибавлением единицы к младшему разряду обратного кода. Обратный код получается заменой единиц на нули, а нулей на единицы в прямом двоичном коде.

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

  • мантисса;

  • порядок.

При этом абсолютная величина мантиссы должна быть меньше 1, а порядок должен быть целым числом. В общем виде число в форме с плавающей запятой может быть представлено так:

NM*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 — знак - (минус).

Для алгебраического представления чисел, т. е. для представления чисел с учетом их знака, в вычислительных машинах используются специальные коды:

  • прямой код числа;

  • обратный код;

  • дополнительный код.

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

Прямой код числа N (обозначим [N]пр).

Пусть N= а1, а2, а3, •••, ат, тогда:

при N>0, [N]пр = 0, а1, а2, а3, -, ат,

при N< 0, [N]пр=1, аь а2, аъ, ..., ат,

при N= 0 имеет место неоднозначность [0]пр = 0, 0 ... = 1, 0 ....

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

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

Операцию вычитания в этом коде нельзя заменить операцией сложения с отрицательным числом, поэтому возникают сложности, связанные с займом значений из старших разрядов уменьшаемого числа. В связи с этим прямой код в ЭВМ почти не применяется.

Обратный код числа N, обозначим [N]о6р.

Пусть N = а 1, а2> аъ, ..., аm, и b обозначает инверсию а, т. е. если а = 1, то b = 0, и наоборот. Тогда:

при N> 0, [N]o6p = 0, аи а2, а2, ..., ат;

при N< 0, [N]o6p = 1, b1, b2, b3, ..., bт;

при N= 0 имеет место неоднозначность [0]обр = 0,00...О = 1,11..1.

Для того чтобы получить обратный код отрицательного числа, необходимо все цифры этого числа инвертировать, т. е. в знаковом разряде поставить 1, во всех значащих разрядах нули заменить единицами, а единицы нулями.

Например,

для N= 1011 [No6p = 0,1011;

для N= -1011 [N]o6p= 1,0100.

Дополнительный код числа N, обозначим [N]дon.

Пусть, как и выше, N=a1, a2, аъ, ..., ат и b обозначает величину, обратную а (инверсию а), т. е. если а= 1, то b = 0, и наоборот. Тогда:

при N>= 0, [N]дon = 0, a1, а2, а3, ..., ат\

при N<= 0, [N]дon = 1, a1, а2, а3, ..., ат + 0.00...1.

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

Например,

для N= 1011, [N]дon = 0,1011;

для N = -1100, [N]aon= 1,0100;

для N= -0000, [N]aon =10,0000 = 0,0000 (1 исчезает). Неоднозначности в изображении 0 нет.

Представление текстовой информации

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

При двоичном кодировании текстовой информации каждому символу назначается код — последовательность из фиксированного количества нулей и единиц со взаимно однозначным соответствием. Используя 1 двоичную цифру (один бит) можно закодировать всего 2 символа. Двухбитовых комбинаций может быть 4: 00; 01, 10, 11, т. е. 22, с помощью трех битов можно получить восемь различных сочетаний нулей и единиц (23). Аналогичным образом можно подсчитать, что число битов, необходимое для кодирования 32 различных символов, равно 5 (25). Этот код использовался в работе телеграфа в 20-е годы прошлого столетия, вместо знаков препинания ставились ТЧК и ЗПТ. Используя 7 битов, можно закодировать 128 символов (двоичный семибитовый код обмена информацией КОИ-7), а с помощью 24 битов — 16777216 различных символов или состояний.

Оптимальное количество символов, которые используются при наборе различных текстов, равно примерно 200 (буквы латинские и русские, заглавные и строчные, знаки препинания, цифры, математические знаки, элементы псевдографики). В двоичной системе такое количество символов может быть закодировано последовательностью из 8 бит (28 = 256), т.е. 1 байтом.

Кодировка IBM (ASCII коды American Standard Coding for Information Interchange) состоит из двух частей: нижняя является общепринятой во всем мире (десятичные коды 0-127).

Фрагмент кодировки ASCII:

Код двоичный Символ Десятичный код

0010 0000 пробел 32

00101011 + 43

00110000 1 49

00110000 0 48

О11 1001 9 57

00111010 двоеточие: 58

Первые 32 кода зарезервированы для различных управляющих символов, таких как возврат каретки, табуляция, отмена операции и т.п. Вторая — «верхняя половина» представляет собой расширенные ASCII коды, в ней находятся национальные алфавиты и специальные символы. В России вторая половина подчиняется 4 разным стандартам: КОИ-8 (Код обмена информацией восьмизначный. или кодовая страница 866, полученная путем замены греческих букв и некоторых элементов псевдографики из таблиц ASCII кодов на буквы русского алфавита), кодировка WINDOWS 1251, ISO, модифицированная альтернативная кодировка ГОСТ. В последней прописные буквы от А до Я имеют десятичные коды 128 — 159, строчные буквы от а до п имеют десятичные коды 160 — 175, от р до я имеют коды 224 — 241.

Помимо восьмиразрядной системы кодирования символьной (текстовой) информации разработана система шестнадцатиразрядного кодирования символов, которая получила название универсальной, UNICODE. Такая система позволяет закодировать 216 = 65536 различных символов, в том числе практически все алфавиты языков нашей планеты.

Расчет объема текстовой информации сводится к вычислению произведения количества символов в тексте на число разрядов двоичного кода, необходимого для кодирования одного символа.