
- •С.Ю. Завозкин Информатика
- •Порядок выполнения работы
- •Содержание отчета
- •Литература
- •Лабораторная работа 2. Представление чисел в эвм, кодирование
- •Цель работы
- •Теоретический материал
- •Порядок выполнения работы
- •Содержание отчета
- •Литература
- •Лабораторная работа 3. Логические основы алгоритмизации
- •Цель работы:
- •Теоретический материал
- •Логическая схема полусумматора
- •Порядок выполнения работы
- •Содержание отчета
- •Литература
- •Лабораторная работа 4. Алгоритмы
- •Цель работы
- •Теоретический материал
- •Порядок выполнения работы
- •Содержание отчета
- •Литература
Лабораторная работа 2. Представление чисел в эвм, кодирование
Цель работы
Изучить прямой, обратный и дополнительный код, способы кодирования информации. Получить навыки по получению прямого кода, переводу его в обратный, дополнительный и по выполнению арифметических операций с числами, представленными в обратном и дополнительном коде.
Теоретический материал
Прямой код. В знаковый разряд помещается цифра знака, а в разряды цифровой части числа — двоичный код его абсолютной величины.
Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями.
Пример: число -1, модуль 0 0000001, обратный код 1 1111110
Пример: число -127, модуль 0 1111111 , обратный код 1 0000000
Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.
число: -1 = дополнительный код 1 1111111
число: -127 = дополнительный код 1 0000001
Сложение обратных кодов
В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого. Это позволяет существенно упростить конструкцию АЛУ.
При сложении чисел А и В имеют место четыре случая.
А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:
А положительное, B отрицательное и по абсолютной величине больше, чем А.
Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = -710.
А положительное, B отрицательное и по абсолютной величине меньше, чем А.
Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы.
А и B отрицательные.
Полученный первоначально неправильный результат (обратный код числа -1110 вместо обратного кода числа -1010) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = -1010.
При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Случай переполнения возможен и для обратных и для дополнительных кодов.
Сложение дополнительных кодов
А и В положительные.
А положительное, B отрицательное и по абсолютной величине больше, чем А.
Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = -710.
А положительное, B отрицательное и по абсолютной величине меньше, чем А.
Получен правильный результат. Единицу переноса из знакового разряда компьютер отбрасывает.
А и B отрицательные.
Получен правильный результат в дополнительном коде. Единицу переноса из знакового разряда компьютер отбрасывает.
Арифметические операции с вещественными числами
Сложение. Сложить двоичные нормализованные числа 0.10111 . 2-1 и 0.11011 . 210. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо:
Пример:
X1=0.87654 * 101, X2=0.94567*102. Пусть под запись мантиссы отводится 5 разрядов.
Δk=1, k1<k2 следовательно k1=k2=2 (уравняли порядки)
мантиссу числа X1 сдвигаем на один разряд влево (пропадет 4)
новая мантисса равна 0,94567+0,08765=1,03332
мантисса вышла за допустимый интервал >1.
нормализуя, получим мантиссу 0,10333 (теряем 2) и порядок увеличиваем на 1.
Ответ: X=0,10333*103 = 103,3324.
Умножение. Умножение производится по правилу – мантиссы перемножаются, а порядки складываются. Если нужно, то полученное число нормализуется. Пример:
(0.11101*2101)*(0.1001*211)=(0.11101*0.1001)*2(101+11)=0.100000101*21000
Деление. Деление производится по правилу – мантиссы делятся (делимое на делитель), а порядки вычитаются (порядок делителя из порядка делимого). Если нужно, то полученное число нормализуется
0.1111*2100 : 0.101*211 = (0.1111 : 0.101)*2(100-11) = 1.1*21 = 0.11*210.
Кодирование
Алфавит – множество знаков, в котором определен их порядок (общеизвестен порядок знаков в русском алфавите: А, Б,..., Я)
Источник представляет сообщение в алфавите, который называется первичным, далее это сообщение попадает в устройство, преобразующее и представляющее его во вторичном алфавите.
Код – правило, описывающее соответствие знаков (или их сочетаний) первичного алфавита знаком (их сочетаниями) вторичного алфавита.
Кодирование – перевод информации, представленной сообщением в первичном алфавите, в последовательность кодов.
Декодирование – операция обратная кодированию.
Кодер – устройство, обеспечивающее выполнение операции кодирования.
Декодер – устройство, производящее декодирование.
Операции кодирования и декодирования называются обратимыми, если их последовательное применение обеспечит возврат к исходной информации без каких-либо ее потерь.
Таблица, в которой устанавливается однозначное соответствие между символами и их порядковыми номерами, называется таблицей кодировки.
Для разных типов ЭВМ используют различные таблицы кодировки:
ANSI - (American National Standards Institute).
ASCII - (American Standard Cod for Information Interchange).
Таблица кодировки ASCII