Главная Программы Учебное пособие Презентации Дополнительно
    Глава 1
  Глава 2
  Глава 3
  Глава 4
  Глава 5
  Глава 6
  Глава 7
  Глава 8
  Глава 9
  Глава 10
  Глава 11
  Глава 12
  Глава 13
  Глава 14
  Глава 15
  Глава 16
  Глава 17
  Глава 18
  Глава 19
  Глава 20
  Лабораторная 1
  Лабораторная 2
  Лабораторная 3
  Лабораторная 4
  Лабораторная 5
  Лабораторная 6
  Литература

Учебное пособие -> лабораторная работа 2

 

       Лабораторная работа 2. Представление чисел в ЭВМ, кодирование

 

1.    Цель работы

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

 

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. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо: 0.00010111 · 210 + 0.11011 · 210 = 0.11101111 · 210.

 

Пример:

X1=0.87654 * 101, X2=0.94567*102. Пусть под запись мантиссы отводится 5 разрядов.

1.     Δk=1, k1<k2 следовательно k1=k2=2 (уравняли порядки)

2.     мантиссу числа X1 сдвигаем на один разряд влево (пропадет 4)

3.     новая мантисса равна 0,94567+0,08765=1,03332

4.     мантисса вышла за допустимый интервал  >1.

5.     нормализуя, получим мантиссу 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

 

3.    Порядок выполнения работы

1.     Изучить предлагаемый теоретический материал.

2.      Выполнить следующие задания:                                    

1.     Запишите уменьшающийся ряд чисел +3, +2, ..., -3 в однобайтовом формате:  

-  прямом коде;

-  обратном коде;

-  дополнительном коде.

2.     Запишите числа в прямом коде (формат 1 байт):

         а) 31;    б) -63;    в) 65;    г) -128.

3.     Запишите числа в обратном и дополнительном кодах (формат 1 байт):

        а) -9;    б) -15;     в) -127;     г) -128.

4.     Найдите десятичные представления чисел, записанных в дополнительном коде: 

        а) 1 1111000;      б) 1 0011011;     в) 1 1101001;      г) 1 0000000.

5.     Найдите десятичные представления чисел, записанных в обратном коде:

        а) 1 1101000;      б) 1 0011111;      в) 1 0101011;      г) 1 0000000.

6.     Сложить числа, представленные в двоичной системе счисления 0.0101*2100 + 101,0011.

7.     Умножить числа, представленные в двоичной системе счисления (0.101*211)*(0.11*211).

8.     Разделить числа, представленные в двоичной системе счисления (0.101*2110):(0.11*211).

9.      Выполните вычитания чисел путем сложения их обратных (дополнительных) кодов в формате 1 байт. Укажите, в каких случаях имеет место переполнение разрядной сетки:

        а) 9 - 2;

        б) 2 - 9;

        в) -5 - 7;

        г) -20 - 10;

        д) 50 - 25;

        е) 127 - 1;

        ж) -120 - 15;

        з) -126 - 1;

        и) -127 - 1.

10.   Дешифруйте данный текст, используя таблицу ASCII-кодов.

   a)     8A AE AC AF EC EE E2 A5 E0

   в)    50 72 6F 67 72 61 6D

   г)     84 88 91 8A 8E 82 8E 84

   д)    43 4F 4D 50 55 54 45 52

11.   Зашифруйте свою фамилию, используя таблицу ASCII – кодов.

 

4.    Содержание отчета

В отчете следует указать:

-   Цель работы

-   Введение

-   Программно-аппаратные средства, используемые при выполнении работы.

-   Основную часть (описание самой работы), выполненную согласно требованиям к результатам выполнения лабораторного практикума.

-   Заключение (выводы).

-   Список используемой литературы.

 

5.    Литература

1.     Могилев А.В., Пак Н.И., Хенкер Е.К. Информатика. Учебное пособие. – М.: Академия, 2004, 3-е издание.

2.     Могилев А.В., Пак Н.И., Хенкер Е.К. Практикум по информатике. - М.: Академия, 2005, 2-е изд. 

3.     Шауцукова Л.З. Информатика http://book.kbsu.ru, 2002.

4.     Сырецкий Г.А. Информатика. Фундаментальный курс. В 2 томах. – БХВ-Петербург, 2007.

5.     Каймин В.А. Информатика. – М.: Инфра-М. 2001, 2-е изд., доп. и перераб.

6.     Острейковский В.А., Полякова И.В. Информатика. Теория и практика. –  М.: Оникс, 2008.

7.     Степанов А.Н. Информатика. Учебник для вузов. – СПб.: Питер, 2006, 4-е изд.

8.     Рыжиков Ю.И. Информатика. Лекции и практикум. – СПб.: Корона принт. 2000.

9.     Андреева Е., Фалина И. Информатика. Системы счисления и компьютерная арифметика. – М.: Лаборатория Базовых Знаний. 1999.

10.  Л.З. Информатика http://book.kbsu.ru, 2002.

11.  В.М. Введение в информатику http://www.intuit.ru/department/informatics/intinfo, 2006.

12.  В.М. Введение в информатику. Практикум http://www.intuit.ru/department/informatics/intinfopr, 2008.

13.  Е.А. Практическая информатика http://www.intuit.ru/department/se/pinform, 2006

14.  Н.Н. Стили и методы программирования http://www.intuit.ru/department/se/progstyles, 2005