Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika_GOS.doc
Скачиваний:
27
Добавлен:
22.05.2015
Размер:
215.04 Кб
Скачать

6. Прямой, обратный и дополнительный коды.

Целые числа могут представляться в компьютере со знаком или без знака.

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

  • Модуль числа (число без знака) записывают в прямом коде в n двоичных разрядах.

  • Значения всех битов прямого кода инвертируют; т. е. все единицы заменяют на нули, а все нули - на единицы. Таким образом, получают обратный код числа.

  •  К полученному обратному коду прибавляют единицу.

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково - двоичными кодами с цифрой 0 в знаковом разряде. Например:

110=000000012 (первый «0»– знак числа «+») 12710=011111112

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

-110 = 100000012 (первая «1» знак числа «-») -12710 = 111111112

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

Число: -1

Код модуля числа: 0 0000001

Обратный код числа: 1 1111110

Число: -127

Код модуля числа: 0 1111111

Обратный код числа:1 0000000

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

Дополнительный код числа «-1» =11111111

Дополнительный код числа «-127» = 10000001

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

 

!7. Смешанный код и код Грея.

Смешанный код формируется следующим образом, выбирается длина разрядной сетки, записывается последовательно все возможные кодовые комбинации в обычной двоичной системе исчисления, затем кодовая комбинация с «1» в старшем разряде имеющая значение 2н-1 выбирается для представления числа 0.

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

Код Грея используется для кодирования положений валов дисков, и т.д. позволяет свести единицы младшего разряда, погрешность при считывании.

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

 

8. Арифметические операции над числами.

Их можно складывать,  вычитать, делить, умножать, возводить в степень и т.п.  Сложение, вычитание, умножение и деление в 2чной системе можно делать как и в 10чной – столбиком .

Пусть требуется сложить два положительных целых числа в двоичной системе счисления:

0+0=0 0+1=1 1+1=10

В последнем правиле произошло увеличение разрядности суммы по сравнению со слагаемыми на 1 бит.

 +   1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1

     1 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0

  1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1

ВЫЧИТАНИЕ

Аналогичные правила действуют и для операции вычитания:

  -  1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1

     1 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0

       1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 1 1

УМНОЖЕНИЕ

Операцию умножения можно производить привычным способом в столбик:

              *  1 1 1 0 1

                 1 0 0 1 0

                 0 0 0 0 0

             1 1 1 0 1

         0 0 0 0 0

     0 0 0 0 0

1 1 1 0 1________

      1 0 0 0 0 0 1 0 1 0

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]