Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Захаров, Сайфутдинов - Вычислительная техника

.pdf
Скачиваний:
13
Добавлен:
11.10.2022
Размер:
1.85 Mб
Скачать

222,22 = 2 102 + 2 101 + 2 100 + 2 10-1 + 2 10-2.

Аналогично

725 = 7 102 + 2 101 + 5 100;

1304,5 = 1 103 + 3 102 + 0 101 + 4 100 + 5 10-1; 50328,15 = 5 104 + 0 103 + 3 102 + 2 101 + 8 100 + 1 10-1 + 5 10-2.

Таким образом, любое число А можно представить в виде полинома путем разложения его по степеням числа 10:

A10 = аn 10n + аn-1 10n-1 + ... + а1 101 + а0 100 + a-1 10-1 + ... + а–m 10-m +...,

последовательность из коэффициентов которого представляет собой десятичную запись числа А10:

A10 = аn аn-1 ... а1 а0 , a–1 ... a –m

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

1.2. Двоичная, восьмеричная и шестнадцатеричная системы счисления

Примеры изображения чисел в данных системах счисления представлены в табл. 1.2.

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

11

 

 

 

 

Таблица 1.2

 

 

 

 

Шестнадцатеричная

 

Десятичная

Двоичная

Восьмеричная

 

 

 

 

 

 

 

 

0

00000

0

 

0

 

 

 

 

 

 

 

 

 

1

00001

1

 

1

 

 

 

 

 

 

 

 

 

2

00010

2

 

2

 

 

 

 

 

 

 

 

 

3

00011

3

 

3

 

 

 

 

 

 

 

 

 

4

00100

4

 

4

 

 

 

 

 

 

 

 

 

5

00101

5

 

5

 

 

 

 

 

 

 

 

 

6

00110

6

 

6

 

 

 

 

 

 

 

 

 

7

00111

7

 

7

 

 

 

 

 

 

 

 

 

8

01000

10

 

8

 

 

 

 

 

 

 

 

 

9

01001

11

 

9

 

 

 

 

 

 

 

 

 

10

01010

12

 

А

 

 

 

 

 

 

 

 

 

11

01011

13

 

В

 

 

 

 

 

 

 

 

 

12

01100

14

 

С

 

 

 

 

 

 

 

 

 

13

01101

15

 

D

 

 

 

 

 

 

 

 

 

14

01110

16

 

Е

 

 

 

 

 

 

 

 

 

15

01111

17

 

F

 

 

 

 

 

 

 

 

 

16

10000

20

 

10

 

 

 

 

 

 

 

 

 

17

10001

21

 

11

 

 

 

 

 

 

 

 

 

18

10010

22

 

12

 

 

 

 

 

 

 

 

 

19

10011

23

 

13

 

 

 

 

 

 

 

 

 

20

10100

24

 

14

 

 

 

 

 

 

 

 

 

Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи больших чисел. Этот недостаток не имеет существенного значения для ЭВМ. Если же возникает необходимость кодировать информацию, «вручную», например при составлении программы на машинном языке, то используют восьмеричную или шестнадцатеричную системы счисления. Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в 3 (восьмеричная) и в 4 (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (числа 8 и 16 — соответственно 3-я и 4-я степени числа 2), а перевод их в двоичную систему счисления и обратно осуществляется гораздо проще в сравнении с десятичной системой счисления.

12

Арифметические операции в двоичной системе счисления

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

 

 

Таблица 1.3

 

 

 

 

Сложение

Вычитание

Умножение

 

 

 

 

0 + 0 = 0

0 – 0 = 0

0 0 = 0

 

 

 

 

 

0 + 1 = 1

1 – 0 = 1

0 1 = 0

 

 

 

 

 

1 + 0 = 1

1 – 1 = 0

1 0 = 0

 

 

 

 

 

1 + 1 = 10

10 – 1 = 1

1 1 = 1

 

 

 

 

 

Единица – перенос в старший разряд

Правила арифметики во всех позиционных системах счисления аналогичны. В двоичной системе счисления арифметическое сложение происходит по правилу сложения по модулю два с учетом переноса единицы в старший разряд.

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

счисления чисел 13 и 7.

 

 

 

 

1310

= 11012

 

 

 

710

= 01112

 

Решение:

+

 

13

 

 

+ 01101

 

 

 

 

 

 

 

 

7

 

 

00111

 

 

 

 

 

 

 

 

20 10

 

10100 2

 

При сложении двух единиц результат операции равен нулю и единица перено-

сится в соседний разряд.

 

 

4

 

3

2 1

0

 

 

 

 

 

 

 

 

1 0 1 0 0 2 = 1 2 4 + 0 2

3 + 1 2 2 + 0 2 1 + 0 2 0 = 20 10.

Пример. Выполнить операцию арифметического вычитания в двоичной систе-

ме счисления чисел 12 и 7.

 

 

 

 

 

 

 

 

 

 

 

 

 

1 11

 

Решение:

12

 

 

1 1 0 0

 

 

 

 

 

 

 

 

7

 

 

0 1 1 1

 

 

 

 

 

 

 

 

 

5

10

 

0 1 0 1

2

При вычитании из нулевого разряда в данном разряде образуются две единицы,

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

 

3

2

1

0

 

 

 

3 + 1 2 2 + 0 2 1 + 1 2 0 = 5 10.

0 1 0 1 2 = 0 2

 

 

 

 

 

 

 

 

 

 

 

13

 

Таблицы сложения для восьмеричной и шестнадцатеричной систем счисления представлены на рис. 1.1 и 1.2.

+

0

1

2

3

4

5

6

7

0

0

1

2

3

4

5

6

7

1

1

2

3

4

5

6

7

10

2

2

3

4

5

6

7

10

11

3

3

4

5

6

7

10

11

12

4

4

5

6

7

10

11

12

13

5

5

6

7

10

11

12

13

14

6

6

7

10

11

12

13

14

15

7

7

10

11

12

13

14

15

16

 

 

Рис. 1.1. Таблица сложения для восьмеричной систем счисления

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

0

1

2

3

4

5

6

7

8

9

А

В

С

D

Е

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

2

3

4

5

6

7

8

9

А

В

С

D

Е

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

2

3

4

5

6

7

8

9

А

В

С

D

Е

F

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

3

4

5

6

7

8

9

А

В

С

D

Е

F

10

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

3

4

5

6

7

8

9

А

В

С

D

Е

F

10

11

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

4

5

6

7

8

9

А

В

С

D

Е

F

10

11

12

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

5

6

7

8

9

А

В

С

D

Е

F

10

11

12

13

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

6

7

8

9

А

В

С

D

Е

F

10

11

12

13

14

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

7

8

9

А

В

С

D

Е

F

10

11

12

13

14

15

16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

8

9

А

В

С

D

Е

F

10

11

12

13

14

15

16

17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

9

А

В

С

D

Е

F

10

11

12

13

14

15

16

17

18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

А

В

С

D

Е

F

10

11

12

13

14

15

16

17

18

19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

В

С

D

Е

F

10

11

12

13

14

15

16

17

18

19

1A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

С

D

Е

F

10

11

12

13

14

15

16

17

18

19

1B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

D

Е

F

10

11

12

13

14

15

16

17

18

19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е

Е

F

10

11

12

13

14

15

16

17

18

19

1D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

F

10

11

12

13

14

15

16

17

18

19

1D

1E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.2. Таблица сложения для шестнадцатеричной системы счисления

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

14

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

При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный q–1. Число в системе с основанием q записывается как последовательность остатков от деления, записанных в обратном порядке, начиная с последнего.

Пример. Перевести число 75 из десятичной системы в двоичную, восьмерич-

ную и шестнадцатеричную:

 

 

в двоичную

в восьмеричную

в шестнадцатеричную

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

Другой способ записи перевода числа из десятичной системы счисления в двоичную осуществляется следующим способом.

Исходное число делят на 2, результат пишут под исходным числом, а справа от черты в строке с исходным числом ставят 0, если деление без остатка, и 1, если остаток есть. Деление повторяют до тех пор, пока делимое не станет меньше делителя. Считывание результата производится снизу вверх.

Пример. В десятичной системе число А10 = 37. Получить число А в двоичной системе счисления.

37

2

 

 

 

 

 

37

1

1

18

2

 

 

 

 

 

 

 

 

18

0

 

0

9

2

 

 

 

 

 

 

 

9

1

 

 

1

4

2

 

 

4

0

 

 

 

0

2

2

 

2

0

 

 

 

 

0

 

1

1

 

 

 

 

 

 

 

 

А10 = 37 А2 = 100101

15

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему осу-

ществляется путем замены каждой цифры эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр) соответственно.

Пример.

537,18 = 101 011 111, 0012; 1А3, F16 = 1 1010 0011, 11112.

 

 

 

 

 

 

 

 

5

3

7

1

1

А

3

F

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

Например:

10101001,101112 = 10 101 001, 101 1102 = 251, 568;

2 5 1 5 6

10101001,101112 = 1010 1001, 1011 10002 = А9, В816.

А 9 В 8

При переводе числа из двоичной (восьмеричной, шестнадцатеричной) системы счисления в десятичную надо это число представить в виде суммы степеней основания его системы счисления.

Примеp.

 

 

 

Разряды

3 2 1 0 -1

23 +

1 21 + 1 20 + 1 2-1 = 11,510

Число

1 0 1 1, 12 = 1

Разряды

2 1 0 -1

 

 

Число

2 7 6, 58 = 2 82 + 7

81 + 6 80 + 5 8-1 = 190,62510

Разряды

2 1 0

 

 

Число

1 F 316 = 1 162

+ 15 161 + 3 160 = 49910

16

Контрольные вопросы

1.Что такое система счисления?

2.Какие система счисления используются для представления информации в компьютерах?

3.В чем отличие позиционной системы счисления от непозиционной?

4.Что называется основанием системы счисления?

5.Назовите порядок перевода чисел из десятичной в двоичную, восьмеричную

ишестнадцатеричную системы счисления.

17

2. ЛОГИЧЕСКИЕ ОСНОВЫ ЦИФРОВЫХ УСТРОЙСТВ

2.1. Основы алгебры логики

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

Логическая операция состоит в преобразовании по определенным правилам входной информации в выходную. Сигналы на входах и выходах логических элементов обычно являются двоичными (бинарными), т. е. принимают лишь два значения, символически обозначаемые как 0 и 1. Поэтому их также называют двоичными переменными и обозначают буквами латинского алфавита (входные сигналы xl, x2, ..., xn, а результат операции, т. е. выходной сигнал – у). Переменная х может принимать два значения: либо х = 1 (событие истинно), либо х = 0 (событие ложно). Эти переменные называются также булевыми по имени английского математика Дж. Булля, который в середине XIX века разработал основные положения алгебры логики.

Различные логические переменные могут быть связаны функциональными зависимостями. Например, y = f(x1, x2) указывает на функциональную зависимость логической переменной у от логических переменных х1 и х2, называемых аргументами (или входными переменными).

2.2.Основные законы алгебры логики

Валгебре логики имеются четыре основных закона: переместительный (свойство коммутативности); сочетательный (свойство ассоциативности); распределительный (свойство дистрибутивности); инверсии (закон де Моргана).

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

Соотношения, отображающие основные законы алгебры логики, приведены в таблице 2.1.

18

 

 

 

 

 

 

 

 

 

Таблица 2.1

 

 

 

 

 

 

 

 

Логическое умножение

п/п

Закон

 

 

Логическое сложение

 

 

 

 

 

 

 

 

 

1

Переместительный

x1 x2 = x2 x1

 

x1 x2 = x2 x1

 

 

 

 

 

 

 

 

 

 

2

Сочетательный

(x1

x2) x3 = x1 (x2 x3)

 

(x1 x2) x3 = x1 (x2 x3)

 

 

 

 

 

 

 

 

 

 

3

Распределительный

(x1

x2) x3 = x1x3 x2x3

 

x1x2 x3=(x1 x3)(x2 x3)

4

Инверсии

 

 

х1х2

 

 

 

х1 х2

 

х1 х2

 

 

х1х2

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

Законам и правилам булевой алгебры присуще свойство симметрии. Все правила (кроме последнего) представлены парой соотношений. В каждой паре одно соотношение вытекает из другого заменой логического сложения логическим умножением и наоборот. Кроме того, все значения «0» заменяются на «1» и наоборот. Это свойство симметрии отражает принцип двойственности булевой алгебры.

 

 

 

 

 

 

 

 

 

 

Таблица 2.2

 

 

 

 

 

 

 

 

 

 

 

п/п

Правило

 

 

а

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

1

Инверсии

 

 

1

 

 

 

 

 

0

 

0

 

 

 

 

1

 

 

 

 

 

 

 

2

Неизменности

x 0 = x

 

 

 

x 1 = x

 

 

 

 

 

 

 

3

Универсального и нулевого

x 1 = 1

 

 

 

x 0 = 0

 

множества

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Повторения

x x = x

 

 

 

x x = x

 

 

 

 

 

 

5

Дополнительности

x х = 1

 

 

x х = 0

 

 

 

 

 

 

 

6

Склеивания

х1х2 х1х2

х1

 

 

1 х2 )(х1 х2 ) х1

7

Двойного отрицания

 

 

 

 

 

х

 

 

 

 

х

 

 

 

 

 

 

 

 

 

 

 

Правило склеивания широко используется при минимизации логических функций с целью их упрощения.

19

2.3. Преобразование булевых выражений

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

булевого выражения для трех переменных служит формула

 

f(x1, x2, x3) = (х1 х2 х3 х1 х2 )(х1 х3 ) .

(2.1)

Обычно считают, что операция логического умножения всегда предшествует операции логического сложения.

Преобразуем выражение (2.1), применив законы и правила алгебры логики.

(х1 х2 х3 х1 х2 )(х1 х3 ) х1 х2 х3 х1 х1 х2 х3 х3 х1 х2 х1

х1 х2 х3 х1 х2 х3 х1 х2 х1 х2 х3 х2 х3 (х1 х1 ) х1 х2

х2 х3 х1 х2 х2 3 х1 ). (2.2)

Полученное в результате тождественных преобразований выражение (2.2) значительно проще выражения (2.1). Процесс упрощения логического выражения, основанный на тождественных преобразованиях, называется минимизацией булевых выражений.

2.4. Дизъюнктивные нормальные формы

Для записи одной и той же функции алгебры логики можно использовать различные формы. Формы, которые представляют суммы элементарных произведений, называют дизъюнктивными нормальными формами (ДНФ).

Под элементарным понимается такое произведение, в котором сомножителями являются только отдельные переменные или их отрицания. Например, формула f(x1, x2, x3) = х2 х3 х1 х2 содержит два элементарных произведения, каждое из которых состоит из двух сомножителей. Очевидно, одна и та же функция может быть представлена множеством различных ДНФ. Однако существуют такие виды ДНФ,

20