Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Арифметические и логические основы цифровой техники.



Арифметические и логические основы цифровой техники.

 

Системы исчисления.

Системы исчисления бывают позиционные и не позиционные.

Например: римские цифры. I I I

1, 11, 111

 

Основание системы счисления – P, P>1

а1, а2,…,ар – символы алфавита

А – любое число

 

А= аnРn + аn-1Рn-1 + …+ а1Р1 + а0Р0

 

Если дробное число, то:

 

А= аnРn + аn-1Рn-1 + …+ а1Р1 + а0Р0 + а-1Р-1 + а-mР-m

А=

Число выглядит так: аnаn-1…а1а0а-1...а-m

 

Рассмотрим пример: 8 2 1, 3 5

а2 а1 а0 , а-1 а-2

 

Оптимальная система исчисления.

 

N – число чисел

n – число разрядов в числе

 

N=Pn где n=logPN

С – аппаратные затраты – денежное выражение нашей схемы.

 

С ~ Р·n=Р· logPN

 

Минимум функции будет при условии: Р=2,71…, т. е. Р=exp

 

Т. к. Р – целое, то Р=3 – система оптимальная.(минимальные затраты) Но, она сложна в изготовлении.

 

Рассмотрим пример. Пусть есть n разрядов, каждый разряд принимает 10 значений, следовательно это десятичная система. При троичной системе каждый разряд будет принимать три значения (0, 1, 2). Но такое устройство более сложное в изготовлении чем, например, при Р=2 (принимает значения - 0,1)

 

На практике применяют Р=2.

 

Р=10 в 1,5 раза сложнее, чем Р=2, следовательно затрат больше.

Чем меньше система счисления, тем больше разрядов.

 

 

       
       
       
       
       
       
       
       
       
       
       
     

A

     

B

     

C

     

D

     

E

     

F

       
       

 

Двоичная арифметика.

Для суммы:

0+0=0

0+1=1

1+0=1

1+1=10, где 0 – это сумма S, 1 – это перенос CR

Числа будут записываться как: 00, 01, 01, 10

 

Таблица истинности:

 

   
   

Для S

 

   
   

Для CR

 

 

Для разности:

0-0=0

1-0=1

1-1=0

10-1=1 где 1 – это заем

 

Таблица истинности:

 

   
   

Для разности

 

 

Для заема

   
   

 

 

Для умножения:

0·0=0

0·1=0

1·0=0

1·1=1

   
   

Таблица истинности:

 

 

Для деления:

0:1=0

1:1=1

 

Перевод чисел из одной системы в другую.

 

16=24

Примеры: 305,48 = 011 000 101, 1002, где нижние индексы указывают на систему счисления



305,416 = 0011 0000 0101, 012

5F1C, EE16 = 0101 1111 0001 1100, 1110 11102

001010111, 1101101002 = 127, 6648

01010111, 1101 10102 = 57, DA16

 

А=

2Е5, А16 = (2·162 + 14·161 + 5·160 + 10·16-1)10 = 741, 625

5210 = 101·10101 + 10·10100 = 1101002

 

 

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

 

Рассмотрим пример:

7010 нужно перевести в двоичную систему

 

   

 

 

 

 

 

     

 

 

 

 

 

     

 

 

 

 

 

     

 

 

 

 

 

     

 

 

 

 

 

     

 

 

 

 

 

   

Следовательно, получаем 1000110

 

7010 нужно перевести в «8» систему

   

 

     

 

   

 

Получаем 106

 

Представление положительных и отрицательных чисел.

 

Прямой код числа.

 

Рассмотрим число 0110:

· Если «+», то 0' 0110

Где 0 показывает что число «+»

· Если «-», то 1' 0110

Где 1 показывает что число «-»

 

+0, 0101 запишется как 0,0101

-0, 0101 запишется как 1,0101

 

Обратный код числа.

 

Прямой код

Обратный код

дополнительный

+0110

     

-0101

     

+0, 0101

0, 0101

0, 0101

0, 0101

-0, 0101

1, 0101

1, 1010

1, 1011

 

Обратный код – дополнение до единицы

Дополнительный код – дополнение до двух

Обратный код в сумме с исходным дает 1, а дополнительный в сумме с исходным дает 0.

 

 

Обратный код

Дополнительный код

     
     
     
     
     
     
     
     

-1

   

-2

   

-3

   

-4

   

-5

   

-6

   

-7

   

 

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

Перенос из знакового разряда добавляется к младшему разряду результата.

Правило сложения для дополнительных кодов: при сложении чисел в дополнительном коде знаковые разряды складываются аналогично остальным.

Перенос из знакового разряда теряется, а результат получается в дополнительном коде.

 

Примеры: в дополнительном коде

· +4+3=+7

0100+0011=0111

· 1+(-3)=-2

0001+1101=1110

В обратном коде

· 7+(-3)=4

0111+1100=0100

 

Весовые коды.

, где Рi это вес

Вес разряда показывает, на какое число нужно умножить стоящую перед ним цифру алфавита, чтобы получить число в этой системе исчисления.

Для кодировки десятичных чисел в двоичные:

 

d = W3·b3 + W2·b2 + W1·b1 + W0·b0

 

d - десятичная цифра

W – вес данного разряда

b – двоичные цифры

 

В данном примере 4 двоичных цифры, а это 16 возможных разрядов. Нам надо использовать только 10, следовательно 6 избыточных.

Число вариантов кодировки:

Существуют не весовые коды, которые не подчиняются данной функции.

 

Самые распространенные весовые коды: 8421, 7421, 7321, 6421, 6321, 5311, 4421,

 

8 4 2 1 – двоично-десятичный код

W3 W2 W1 W0

 

Пример: запишем 610 в коде 8421

 

610 = 8·0 + 4·1 + 2·1 + 1·0 = 01108421

610 = 01117321

610 = 01106421

 

Код 8421 совпадает с двоичным, если кодируем числа от 0 до 9.

Весовые коды могут быть отрицательными.

Код 8421 – дополняющийся двоично-десятичный код. Его два младших разряда отрицательные (2 и 1)

 

910 = 11118421 = 8·1 + 4·1 – 2·1 - 1·1

 

Правила составления весовых кодов.

· Вес любого разряда не должен превосходить больше, чем на единицу сумму весов всех младших разрядов (предыдущих).

· Вес младшего разряда должен быть единица, иначе мы не сможем закодировать единицу.

· Вес второго разряда должен быть один или два.

· Сумма двух старших разрядов должна быть больше либо равна 6, если второй разряд двойка, или 7, если второй разряд единица.

 

Существуют не весовые коды.

Код 8421 часто используется на практике.

 

Правила сложения чисел в двоично-десятичном коде (ДДК)

 

Другие виды кодов.

 

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

 

Пример: 510 + 410 = 910

10118421 + 01008421 = 11118421

 

Коды 2421 и +3 это самодополняющиеся коды.

Код +3 получается из кода 8421 добавлением тройки. Это непозиционный код. Удобен для вычисления

510 = 1000+3

410 = 0111+3

010 = 0011+3

910 = 1100+3

 

Свойства сложения чисел в коде +3:

· Сложение происходит тетрадами, т. е. по четыре разряда

· Если при сложении есть перенос, то производится коррекция (прибавление 3)

· Если нет переноса, то производится коррекция с вычитанием тройки.

 

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

Используется в системах передачи информации.

   
   
   
   
         
         
         
         
         
         
         
         
         
         

 

Код Грея:

 

Четырех разрядный код Грея:

 

 

5 разрядов из них лишь два истинные.

 

           
           
           
           
           

 

Это весовой код.

 

 

Обнаружение и исправление ошибок в кодах.

 

Кодовое расстояние d – минимальное число бит, которое должно быть изменено при переходе от одного числа к другому.

d=2 между точками 110 и 011

d=1 между соседними точками.

 

Это кодовое расстояние можно использовать как способ обнаружения ошибки.

 

Кратность ошибки – (dmin - 1)

 

Если изменилось два бита, то двукратной ошибки не обнаружить.

 

Дополнительные коды увеличивают d, следовательно, помогают избежать ошибки. Например, добавлением бита четности.

 

Пусть у нас есть число 1011, добавим бит четности, следовательно, получим - 11011 – четное число.

 

Ошибки при передачи информации возникают всегда.

 

Пример: у нас есть диск; там 16 битное кодирование, чтобы записать и считать без ошибок добавляется 6 бит, следовательно, получается 22 бита. Это код Рида – Соломона.

 

На практике используется бит четности по разряду и по времени, чтобы не было двукратных ошибок.

 

Самое оптимальное кодирование при использовании кода Хэмминга.

 

Рассмотрим исключающее ИЛИ.

 

а

b

     
     
     
     

 

Х = a b

 

 

Бит четности: Р = A B C D

 

Правила для построения кода Хэмминга:

 

 

m = n - r

 

n – общее число в коде Хэмминга

m – сама информация

 

Р – контрольный бит. Он должен быть таким, чтобы сумма единиц с ним была четной.

 

С0 = Р1 а3 а5 а7 а9 а11 а13 а15 = 0

 

С1 = Р2 а3 а6 а7 а10 а11 а14 а15 = 0

 

С2 = Р4 а5 а6 а7 а12 а13 а14 а15 = 0

 

С3 = Р8 а9 а10 а11 а12 а13 а14 а15 = 0

 

Если все С = 0, то передача информации прошла без ошибок.

Если хотя бы одно из С не равно 0, то произошла ошибка.

 

Для обнаружения ошибки существует формула:

 

N = Сr-1·2r-1 + … + C2·22 + C1·2 + C0, где N – номер позиции где произошла ошибка.

 

Пример: 10012, код 8421

 

       

 

Х3

Х5

Х6

Х7

 

 

m=4, r=3, n=8

Р1Р2Х3Р4Х5Х6Х7

Р1=0, Р2=0

Р4=0 1 0=1

0011001Хэм


Дата добавления: 2015-10-21; просмотров: 26 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
№ 4 Библиография Венков Сонетов 1984-2014 2 страница | ( Лекція створена на основі праці О. Братка-Кутинського „Феномен України”)

mybiblioteka.su - 2015-2024 год. (0.044 сек.)