Лабораторная работа № 1
Тема: Кодирование числовой и символьной информации в компьютере.
Цель работы: Получение практических навыков по кодированию числовой и символьной информации в компьютере.
Краткие сведения из теории
В вычислительной технике для представления числовой информации используются различные системы счисления:
Двоичная система (binary system);
Шестнадцатеричная система (hexadecimal system);
Восьмеричная система (octal system);
Десятичная система (decimal system).
Числовая информация, как и любая другая, хранится и обрабатывается в компьютерах в двоичной системе счисления – числа представляются в виде последовательностей нулей и единиц. Простейшим является кодирование целых чисел. Целые числа кодируются 1, 2 и более байтами.
Число двоичных комбинаций, кодируемых одним байтом, N = 28, т.е. 256 (числа от 0 до 255).
В общем виде имеем
N = 2n
где n – количество разрядов.
Если надо закодировать число больше 255, то используют два байта (16 бит). Это дает N = 216, т.е. 65536 комбинаций (чисел).
Для представления целых чисел со знаком крайний левый бит отводится под знак. Положительные числа имеют нулевое значение знакового разряда, отрицательные числа - единичное.
Для представления отрицательных чисел используется дополнительный код. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие.
Двоичное число в обратном коде получается из числа в прямом коде путем инвертирования каждого разряда. Например, имеем прямой код числа 1101. Обратный код имеет вид 0010. Дополнительный код получают из обратного путем прибавления 1. Например, дополнительный код числа 0101 равен 1011. Для этого, сначала получаем обратный код числа0101, который равен 1010. Затем путем прибавления 1 получаем дополнительный код, который равен 1011.
Пример. Записать дополнительный код отрицательного числа –12 для 8-разрядного компьютерного представления.
Решение: Проведем вычисления в соответствии с определением дополнительного кода, где n=8:
12 = 000011002 прямой код.
-12 = 111101002 дополнительный код.
28 + (–12) = 1111101002 дополнительный код со знаком.
Для перевода дополнительного кода в десятичное число необходимо:
1.Инвертировать дополнительный код.
2.Прибавить к полученному коду 1 и получить модуль отрицательного числа.
3.Перевести в десятичное число и приписать знак отрицательного числа.
Пример. Получить десятичное представление числа по его дополнительному коду 100101112.
Решение:
1). Инвертируем дополнительный код 100101112. Получим 01101000 –обратный код.
2). Прибавим к полученному числу 1. Получим число 01101001.
3). Переведем полученную запись числа из двоичной системы в 10-ю форму. Получим число 105.
4).Перед полученным числом поставим знак «–». Получим: –105.
Перевод дробного числа из десятичной системы счисления в двоичную систему осуществляется по следующему алгоритму:
Вначале переводится целая часть десятичной дроби в двоичную систему счисления;
Затем дробная часть десятичной дроби умножается на основание двоичной системы счисления;
В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления;
Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.
Пример. Перевести дробное десятичное число 206,116 в двоичную систему. Перевод целой части дает 20610=110011102. Дробную часть умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
.116 • 2 = 0.232
.232 • 2 = 0.464
.464 • 2 = 0.928
.928 • 2 = 1.856
.856 • 2 = 1.712
.712 • 2 = 1.424
.424 • 2 = 0.848
.848 • 2 = 1.696
и т.д.
Получим: 20610=11001110,000111012
Для представления символьных данных используются различные таблицы кодировки символов, в которых каждому символу соответствует целое число. Существующий стандарт ASCII (American Standard Code for Information Intercange – американский стандартный код для обмена информацией) содержит две таблицы кодирования – базовую и расширенную. Первая таблица содержит 128 основных символов, в ней размещены коды символов английского алфавита, а во второй таблице кодирования содержатся 128 расширенных символов.
В настоящее время существует множество таблиц кодировки символов, в которых 128 кодов расширенных символов заменены символами национального алфавита. Так, например, кодировка символов русского языка Windows – 1251 используется для компьютеров, работающих под ОС Windows. Другая кодировка для русского языка КОИ – 8, также широко используется в компьютерных сетях.
В настоящее время существует универсальная система UNICODE, основанная на 16 – разрядном кодировании символов. Эта 16 – разрядная система обеспечивает универсальные коды для 65536 различных символов, т.е. в этой таблице могут разместиться символы языков большинства стран мира.
Достарыңызбен бөлісу: |