- •Лабораторная работа №5 Кодирование и формы представления информации в эвм
- •1 Цель и содержание
- •2 Теоретическое обоснование
- •2.2Особенности сложения целых чисел в дополнительном коде:
- •2.3 Кодирование и формы представления числовой информации в эвм
- •3 Задания
- •4 Контрольные вопросы
- •5 Домашняя работа
Лабораторная работа №5 Кодирование и формы представления информации в эвм
1 Цель и содержание
Познакомить студентов с формами представления чисел в памяти ЭВМ, а также записи в ней символьной информации.
Выработать навык построения машинных кодов и выполнения действия сложения в них. Научить пользоваться таблицей кодировки ASCII для представления символьной информации.
2 Теоретическое обоснование
2.1Кодирование и формы представления числовой информации в ЭВМ. Любая информация (числа, команды, записи и т. п.) представляется в ЭВМ в виде двоичных кодов фиксированной или переменной длины. Отдельные элементы двоичного кода, имеющие значение 0 или 1, называют разрядами или битами. Двоичный код состоящий из 8 разрядов носит название байта. Для записи чисел также используют 32-разрядный формат (машинное слово), 16-разрядный формат (полуслово) и 64-разрядный формат (двойное слово).
В компьютере используются следующие формы представления числовых данных:
– числа с фиксированной запятой (точкой); числа с плавающей запятой (точкой).
Представление чисел в форме с фиксированной точкой получило название естественной формы числа, представление с плавающей точкой – нормальной (нормализованной) формой числа.
В естественной форме представляются целые числа, в нормализованной форме – вещественные (целые и дробные).
При представлении числа в форме с фиксированной точкой указывается знак числа и модуль числа в q – ичном коде.
Число с плавающей точкой изображается в байтах памяти в виде мантиссы и порядка (основание системы в соответствующей степени)
В целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел.
Основные машинные коды чисел: прямой, обратный и дополнительный. Прямой код используется для представления отрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении. Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ.
К машинным кодам выдвигаются следующие требования:
– разряды числа в коде жестко связаны с определенной разрядной сеткой (байт, полуслово, слово, двойное слово);
– для записи кода знака числа в разрядной сетке отводится фиксированный, строго определенный разряд (обычно старший). Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.
Например, если за основу представления кода взят один байт, то для представления числа будет отведено 7 разрядов ( с 0-го по 6-ой), а для записи кода знака один разряд (7-ой).
Для удобства записи машинных кодов условимся отделять знаковый разряд от цифровых запятой. Если количество разрядов кода в задании не указано будем предполагать, что под запись кода выделен один байт.
Код числа в форме с фиксированной точкой, состоящий из кода знака и двоичного кода его модуля, называется прямым кодом двоичного числа. Этот код строится путем перевода десятичного числа в двоичную СС и записи двоичного кода в разрядную сетку. Знак числа записывается в старшем разряде сетки, а все пустые разряды сетки между числом и знаковым разрядом заполняются нолями.
Если число положительное его обратный и дополнительный коды совпадают с прямым кодом этого числа.
Обратный код отрицательного числа получается путем инвертирования (замены 1 на 0, 0 на 1) всех разрядов прямого кода этого числа за исключением знакового.
Дополнительный код отрицательного числа получается путем прибавления единицы к младшему разряду обратного кода
Пример 4.1. Построить машинные коды числа 1710.
Для построения прямого кода:
– переведите исходное число в двоичную СС. 1710 = 100012;
|
|
|
1 |
0 |
0 |
0 |
1 |
Т.к. разрядность сетки не было указана, работаем с байтом;
0 |
|
|
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
[17]пр = 0, 0010001.Т.к. число 17 положительное:
[17]пр = [17]обр = [17]доп = 0, 0010001.
Пример 4.2. Построить машинные коды числа -1710.
Для построения прямого кода:
– переведите исходное число в двоичную СС. -1710 = -100012;
|
|
|
1 |
0 |
0 |
0 |
1 |
Т.к. разрядность сетки не было указана, работаем с байтом;
1 |
|
|
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
[-17]пр = 1, 0010001. Т.к. число -17 отрицательное строим отрицательный и дополнительный коды этого числа:
[-17]обр = 1, 1101110.
1 , 1101110
1
[-17]доп = 1, 1101111