Позиционные системы счисления
Системы счисления, используемые для общения с компьютером. Арифметические операции в позиционных концепциях вычисления. Представление целых чисел в компьютере. Логические основы построения цифровых автоматов. Анализ представления вещественных цифр.
| Рубрика | Программирование, компьютеры и кибернетика |
| Вид | методичка |
| Язык | русский |
| Дата добавления | 17.05.2016 |
| Размер файла | 290,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Государственное общеобразовательное учреждение высшего профессионального образования
Кубанский государственный технологический университет
Методические указания по выполнению лабораторных работ по дисциплине
Составители:
Атрощенко В.А.,
Краснодар 2011
Содержание
Введение
1. «Позиционные системы счисления»
2. «Арифметические операции в позиционных системах счисления»
3. «Представление целых чисел в компьютере»
4. «Логические основы построения цифровых автоматов»
5. «Решение задач алгебры логики»
Список литературы
Введение
Цель настоящего практикума - ознакомить студентов с арифметическими основами информатики и двоичной логикой. Практикум включает: изучение основных законов и постулатов алгебры логики, для рассмотрения задач синтеза и анализа переключательных схем.
Также в практикум входят изучение различных систем счисления, применяемых в компьютерах; изучение перевода чисел из одной системы счисления в другую; овладение приёмами образования различных кодов; выполнение арифметических операций над числами с фиксированной и плавающей точкой; выполнение логических операций над двоичными числами.
Его содержание соответствует рабочей программе по дисциплине «Информатика». Он состоит из теоретической части и контрольных заданий, которые выполняют студенты в период теоретических занятий.
Количество решаемых студентами задач определяется преподавателем, ведущим практикум.
1. «Позиционные системы счисления»
Цель работы
«Усвоить основные сведения о системах счисления и научиться переводу чисел из одних систем счисления в другие».
Порядок выполнения работы
Ознакомиться с теоретической частью
Получить задание у преподавателя
Оформить отчет
Теоретическая часть
Системы счисления
Существуют позиционные и непозиционные системы счисления.
В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая - 7 единиц, а третья - 7 десятых долей единицы.
Сама же запись числа 757,7 означает сокращенную запись выражения
700 + 50 + 7 + 0,7 = 7*102 + 5*101 + 7*100 + 7*10-1 = 757,7.
Любая позиционная система счисления характеризуется своим основанием.
За основание системы можно принять любое натуральное число -- два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения
an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m ,
где ai - цифры системы счисления;
n и m - число целых и дробных разрядов, соответственно.
Продвижение цифры
В каждой системе счисления цифры упорядочены в соответствии с их значениями: 1 больше 0, 2 больше 1 и т.д.
Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры - 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 - замену её на 0.
Целые числа в любой системе счисления рождаются с помощью
Рассмотрим это правило на примерах.
Запишем первые десять целых чисел в различных системах счисления:
|
Система счисления |
|||||
|
№ |
Двоичная |
Троичная |
Пятеричная |
Восьмеричная |
|
|
0 |
0 |
0 |
0 |
0 |
|
|
1 |
1 |
1 |
1 |
1 |
|
|
2 |
10 |
2 |
2 |
2 |
|
|
3 |
11 |
10 |
3 |
3 |
|
|
4 |
100 |
11 |
4 |
4 |
|
|
5 |
101 |
12 |
10 |
5 |
|
|
6 |
110 |
20 |
11 |
6 |
|
|
7 |
111 |
21 |
12 |
7 |
|
|
8 |
1000 |
22 |
13 |
10 |
|
|
9 |
1001 |
100 |
14 |
11 |
Системы счисления, используемые для общения с компьютером.
Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:
двоичная (используются цифры 0, 1);
восьмеричная (используются цифры 0, 1, ..., 7);
шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел -- от десяти до пятнадцати - в качестве цифр используются символы A, B, C, D, E, F).
Полезно запомнить запись в этих системах счисления первых двух десятков целых чисел:
Из всех систем счисления особенно проста и поэтому интересна для технической реализации в компьютерах двоичная система счисления.
Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам, а пальцев у людей по десять на руках и ногах. Не всегда и не везде люди пользуются десятичной системой счисления. В Китае, например, долгое время пользовались пятеричной системой счисления. А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами.
Преимущества:
для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток -- нет тока, намагничен -- не намагничен и т.п.), а не, например, с десятью, -- как в десятичной;
представление информации посредством только двух состояний надежно и помехоустойчиво;
возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;
двоичная арифметика намного проще десятичной.
Недостатки:
быстрый рост числа разрядов, необходимых для записи чисел.
Двоичная система, удобная для компьютеров, для человека неудобна из-за ее громоздкости и непривычной записи.
Перевод чисел из десятичной системы в двоичную и наоборот выполняет машина. Однако, чтобы профессионально использовать компьютер, следует научиться понимать слово машины. Для этого и разработаны восьмеричная и шестнадцатеричная системы.
Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 - соответственно, третья и четвертая степени числа 2).
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост:
Рассмотрим перевод на примерах.
Существует также правило перевода из двоичной системы в восьмеричную и шестнадцатеричную.
Перевод целого числа из десятичной системы в другую позиционную систему счисления.
Пример: Перевести число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную.
Ответ: 7510 = 1 001 0112 = 1138 = 4B16.
Перевод правильной десятичной дроби в другую позиционную систему счисления Умножение производится до тех пор, пока дробная часть произведения не станет равной нулю. Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности. Достаточно того количества цифр в результате, которое поместится в ячейку.
Сводная таблица переводов целых чисел из одной системы счисления в другую
Рассмотрим только те системы счисления, которые применяются в компьютерах -- десятичную, двоичную, восьмеричную и шестнадцатеричную.
Для определенности возьмем произвольное десятичное число, например 46, и для него выполним все возможные последовательные переводы из одной системы счисления в другую.
Порядок переводов определим в соответствии с рисунком:
На этом рисунке использованы следующие обозначения:
стрелки указывают направление перевода;
номер рядом со стрелкой означает порядковый номер соответствующего примера в сводной таблице 4.1.
Сводная таблица переводов целых чисел на примере числа 46
Контрольные вопросы
Что такое система счисления?
Что называют основанием позиционных систем счисления?
Какая разница между непозиционными (аддиктивными) системами счисления и позиционными ?
Почему в вычислительной технике используется двоичная система счисления?
Какие действия необходимо произвести для перевода целого числа десятичной системы в иную систему счисления (двоичную, восьмеричную, шестнадцатеричную)?
До каких пор при переводе правильной дроби в иную позиционную систему, производится умножение?
Задание
Какие целые числа следуют за числами:
|
а) 12 |
е) 18 |
л) F16 |
|
|
б) 1012 |
ж) 78 |
м) 1F16 |
|
|
в) 1112 |
з) 378 |
н) FF16 |
|
|
г) 11112 |
и) 1778 |
о) 9AF916 |
|
|
д) 1010112 |
к) 77778 |
п) CDEF16 |
Какие целые числа предшествуют числами:
|
а) 102 |
е) 108 |
л) 1016 |
|
|
б) 10102 |
ж) 208 |
м) 2016 |
|
|
в) 10002 |
з) 1008 |
н) 10016 |
|
|
г) 100002 |
и) 1108 |
о) А1016 |
|
|
д) 101002 |
к) 10008 |
п) 100016 |
Переведите числа в десятичную систему, а затем проверьте результаты, сделав обратные переводы:
|
а) 10110112 |
е) 5178 |
л) 1F16 |
|
|
б) 101101112 |
ж) 10108 |
м) ABC16 |
|
|
в) 0111000012 |
з) 12348 |
н) 101016 |
|
|
г) 0,10001102 |
и) 0,348 |
о) 0,A416 |
|
|
д) 110100,112 |
к) 123,418 |
п) 1DE,C816 |
Переведите числа из десятичной системы в двоичную, восьмеричную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
12510
22910
8810
37,2510
206,12510
Переведите числа из двоичной системы в восьмеричную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
Переведите в двоичную и восьмеричную системы шестнадцатеричные числа:
2CE16;
9F4016;
ABCDE16;
1010,10116
1ABC,9D16.
Расположите следующие числа в порядке возрастания:
748, 1100102, 7010, 3816;
6E16, 1428, 11010012, 10010;
7778,1011111112, 2FF16,50010;
10010, 11000002, 6016, 1418;
Название, цель работы;
Задание;
Письменные ответы на контрольные вопросы;
Краткий вывод по работе.
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 |
Сложение в шестнадцатеричной системе
|
+ |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|
|
0 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|
|
1 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
|
|
2 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
|
|
3 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
|
|
4 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
|
|
5 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
|
|
6 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
|
|
7 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
|
|
8 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
|
|
9 |
9 |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
|
|
A |
A |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
|
|
B |
B |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
1A |
|
|
C |
C |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
1A |
1B |
|
|
D |
D |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
1A |
1B |
1C |
|
|
E |
E |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
1A |
1B |
1C |
1D |
|
|
F |
F |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
1A |
1B |
1C |
1D |
1F |
При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево.
Десятичная: 1510+610 Двоичная 11112+1102 Восьмеричная: 178+68
Ответ: 15+6=2110=101012=258=1516.
Проверка. Преобразуем полученные суммы к десятичному виду:
101012 = 24+22+20 = 16+4+1 = 21
258 = 2+81+5*80 = 16+5 = 21
1516 = 1*161+5*160 = 16+5 = 21
Проверка: Преобразуем полученные суммы к десятичному виду
110012 = 24+23+20 = 16+8+1 = 25
318 = 3*81+1*80 = 24+1 = 25
1916 = 1*161+9160 = 16+9 = 25
Десятичная: 141,510+59,7510 Двоичная: 100011101,12+111011,112
Восьмеричная: 215,48+73,68Шестнадцатеричная: 8D,816+3B,C16
Ответ: 141,5+59,75=201,2510=11001001,012=311,28=С9,416
Проверка. Преобразуем полученные суммы к десятичному виду:
11001001,012 = 27+26+23+20+2-2 = 201,25
311,28 = 3*82+1*81+1*80+2*8-1 = 201,25
С9,416 = 12*161+9*160+4*16-1 = 201,25
Ответ: 201,2510-59,7510=141,510=10001101,12=215,48=8D,816.
Проверка. Преобразуем полученные равенства к десятичному виду:
10001101,12=27+23+22+20+2-1=141,5;
215,48=2*82+1*81+5*80+4*8-1=141,5;
8D,816=8*161+D*160+8*16-1=141,5.
Умножение
Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
Умножение в двоичной системе Умножение в восьмеричной системе
|
* |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
2 |
0 |
2 |
4 |
6 |
10 |
12 |
14 |
16 |
|
|
3 |
0 |
3 |
6 |
11 |
14 |
17 |
22 |
25 |
|
|
4 |
0 |
4 |
10 |
14 |
20 |
24 |
30 |
34 |
|
|
5 |
0 |
5 |
12 |
17 |
24 |
31 |
36 |
43 |
|
|
6 |
0 |
6 |
14 |
22 |
30 |
36 |
44 |
52 |
|
|
7 |
0 |
7 |
16 |
25 |
34 |
43 |
52 |
61 |
Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям.
Пример 7. Перемножим числа 5 и 6.
Проверка. Преобразуем полученные произведения к десятичному виду:
111102=24+23+22+21=30;
368=3*81+6*80=30.
Пример 8. Перемножим числа 115 и 51.
Десятичная:11510*5110 Двоичная:11100112*1100112
Ответ:115*51=586510=10110111010012=133518.
Проверка. Преобразуем полученные произведения к десятичному виду:
10110111010012=212+210+29+27+26+25+23+20=5865;
133518=1*84+3*83+3*82+5*81+1*80=5865.
Деление
Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулём или единицей.
Ответ: 5865:115=5110=1100112=638
Проверка. Преобразуем полученные частные к десятичному виду:
1100112=25+24+21+20=51;
638=6*81+3*81+3*80=51.
Восьмеричная: 438:168
Ответ: 35:14=2,510=10,12=2,48.
Проверка. Преобразуем полученные частные к десятичному виду:
10,12=21+2-1=2,5;
2,48=2*80+4*8-1=2,5.
Контрольные вопросы
Какое Правило счета присуще сложению в двоичной системе?
Что необходимо сделать, если при сложении получился избыток?
Как осуществляется умножение многозначных чисел в различных позиционных системах счисления?
Что необходимо сделать, если при вычитании разряд уменьшаемого числа равен нулю?
Существует ли какая-нибудь разница между осуществлением деления в десятичной системе счисления и любой другой? Если да, то какая?
Задание
1.Сложите числа, а затем проверьте результаты, выполнив соответствующие десятичные сложения:
3.Перемножьте числа, а затем проверьте результаты, выполнив соответствующие десятичные умножения:
4.Разделите 10110101002 на 11002 и затем выполните соответствующее десятичное и восьмеричное деление.
5.Вычислите значения выражений:
2568+10110,12*(608+1210)-1F16;
1AD16-1001011002:10102+2178;
101010+(10616-110111012)*128;
10112*11002:148+(1000002-408).
Оформление отчета
Название, цель работы;
Задание;
Письменные ответы на контрольные вопросы;
Краткий вывод по работе.
3. «Представление целых чисел в компьютере»
Цель работы
«Закрепить знание о представлении целых чисел, научиться представлять их в различных формах»
Порядок выполнения работы
Ознакомиться с теоретической частью
Получить задание у преподавателя
Оформить отчет
Теоретическая часть
Представление целых чисел
Целые числа могут представляться в компьютере со знаком или без знака.
Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 000000002 до 111111112, а в двухбайтовом формате - от 00000000 000000002 до 11111111 111111112.
Диапазоны значений целых чисел без знака
|
Формат числа в байтах |
Диапазон |
||
|
Запись с порядком |
Обычная запись |
||
|
1 |
0 … 28-1 |
0 … 255 |
|
|
2 |
0 … 216-1 |
0 … 65535 |
Примеры:
а) число 7210 = 10010002 в однобайтовом формате:
|
Номера разрядов |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
Биты числа |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
б) это же число в двухбайтовом формате:
|
Номера разрядов |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
Биты числа |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
в) Число 65535 в двухбайтовом формате:
|
Номера разрядов |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
Биты числа |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа.
Знак «+» кодируется нулем, а «-» - единицей.
Диапазоны значений целых чисел без знака
|
Формат числа в байтах |
Диапазон |
||
|
Запись с порядком |
Обычная запись |
||
|
1 |
-27 … 27-1 |
-128 … 127 |
|
|
2 |
-215 … 215-1 |
-32768 … 32767 |
|
|
4 |
-231 … 231-1 |
-2147483648 … 2147483647 |
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины - семь разрядов.
Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией сложения.
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково - двоичными кодами с цифрой 0 в знаковом разряде.
Например,
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
Прямой код
Так же: если число отрицательное, то в знаковый разряд помещается цифра 1, если положительное - 0. В разряды цифровой части числа - двоичный код его абсолютной величины.
Например,
Прямой код числа -1 Прямой код числа 17 Прямой код числа -6
Обратный код
Получается инвертированием всех цифр двоичного кода абсолютной величины числа: нули заменяются единицами, а единицы - нулями.
За исключением разряда знака разряда
Например,
|
-1 |
17 |
-6 |
|
|
Код модуля 10000001 |
Код модуля 00010001 |
Код модуля 10001100 |
|
|
Обратный код 11111110 |
Обратный код 00010001 |
Обратный код 11110011 |
Дополнительный код
Получается образованием обратного кода с последующим прибавлением к его младшему разряду единицы.
Например,
При переполнении разрядной сетки, происходит перенос единицы в знаковый разряд. Это приводит к неправильному результату, причём положительное число, получившееся в результате арифметической операции, может восприниматься как отрицательное (так как в знаковом разряде «1») и наоборот.
Например,
|
X= |
0,1010110 |
|||
|
Y= |
0,1101000 |
|||
|
X+Y= |
1,0111110 |
Здесь X и Y - коды положительных чисел, но ЭВМ воспринимает результат их сложения как код отрицательного числа («1» в знаковом разряде). Для обнаружения переполнения разрядной сетки вводятся модифицированные коды.
В модифицированном обратном и модифицированном дополнительном кодах под знак числа отводится не один, а два разряда: «00» соответствует знаку «+», «11» - знаку «-».
Любая другая комбинация («01» или «10»), получившаяся в знаковых разрядах служит признаком переполненной разрядной сетки. Сложение чисел в модифицированных кодах ничем не отличается от сложения в обычных обратном и дополнительном кодах.
Рассмотрим предыдущий пример, выполнив сложение в модифицированном обратном коде:
|
X= |
00,101011 |
|||
|
Y= |
00,110100 |
|||
|
X+Y= |
01,111111 |
Комбинация «01» в знаковых разрядах означает, что произошло переполнение и получившийся результат неверный.
Рассмотрим ещё один пример.
Даны два числа: X=101001 и Y=-11010. Сложить их в модифицированном коде.
Переведём X и Y в модифицированный дополнительный код:
|
Обычная запись |
Модифицированный обратный код |
Модифицированный дополнительный код |
|
|
X=+101001 |
X=00,101001 |
X=00,101001 |
|
|
Y=-011010 |
Y=11,100101 |
Y=11,100110 |
Выполним сложение:
|
X= |
00,101001 |
||||
|
Y= |
11,100110 |
||||
|
1) |
00,001111 |
||||
|
отбрасывается |
|||||
|
(X+Y) = |
00,001111 |
Переполнения нет (в знаковых разрядах «00»), поэтому полученный результат - верный (X+Y=1111).
Арифметические действия над целыми числами в компьютере.
Сложение и вычитание
При сложении обратных кодов чисел А и В имеют место четыре основных и два особых случая:
А и В положительные.
При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю.
Например,
|
Десятичная запись |
Двоичные коды |
|||||||
|
+ |
3 |
+ |
00000011 |
|||||
|
7 |
00000111 |
|||||||
|
10 |
00001010 |
Получен правильный результат.
А положительное, В отрицательное и по абсолютной величине больше, чем А.
Например,
|
Десятичная запись |
Двоичные коды |
|||||||
|
+ |
3 |
+ |
00000011 |
|||||
|
-10 |
11110101 |
|||||||
|
-7 |
11111000 |
Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются:
1 0000111= -710.
А положительное, В отрицательное и по абсолютной величине меньше, чем А.
Например,
|
Десятичная запись |
Двоичные коды |
||||||||
|
+ |
10 |
+ |
00001010 |
||||||
|
-3 |
11111100 |
обратный код числа -3 |
|||||||
|
7 |
00000110 |
||||||||
|
+1 |
|||||||||
|
00000111 |
Компьютер исправляет полученный первоначальный неправильный результат (6 вместо 7) переносом единицы из знакового разряд в младший разряд суммы.
А и В отрицательные.
Например,
Полученный первоначально неправильный результат (обратный код числа -1110 вместо обратного кода числа -1010) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы.
При переводе результата в прямой код биты цифровой части инвертируются: 1 0001010= -1010.
При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведённой для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа.
Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения.
А и В положительные, сумма А+В больше, либо равна 2n-1, где n - количество разрядов формата чисел (для однобайтового формата n=8, 2n-1=27=128).
Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (16210=101000102), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых, что является свидетельством переполнения разрядной сетки.
А и В отрицательные, сумма абсолютных величин А и В больше либо равна 2n-1.
Например,
|
Десятичная запись |
Двоичные коды |
||||||||
|
+ |
-63 |
+ |
11000000 |
обратный код числа -63 |
|||||
|
-95 |
10100000 |
обратный код числа -95 |
|||||||
|
-158 |
01100000 |
Переполнение |
|||||||
|
+1 |
|||||||||
Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки.
Все эти случаи имеют место и при сложении дополнительных кодов чисел:
А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода.
А положительное, В отрицательное и по абсолютной величине больше, чем А.
Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица:
1 0000110+1=1 0000111=-710.
А положительное, В отрицательное и по абсолютной величине меньше, чем А.
Получен правильный результат. Единицу переноса из знакового разряда компьютер отбрасывает.
А и В отрицательные.
Получен правильный результат в дополнительном коде. Единицу переноса из знакового разряда компьютер отбрасывает.
Случаи переполнения для дополнительных кодов рассматриваются по аналогии со случаями 5 и 6 для обратных кодов.
Сравнение рассмотренных форм кодирования целых чисел со знаком показывает:
на преобразование отрицательного числа в обратный код компьютер затрачивает меньше времени, чем на преобразование в дополнительный код, так как последнее состоит из двух шагов - образования обратного кода и прибавления единицы к его младшему разряду;
время выполнения сложения для дополнительных кодов чисел меньше, чем для их обратных кодов, потому что в таком сложении нет переноса единицы из знакового разряда в младший разряд результата.
Умножение и деление
Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливаемым сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нём поочерёдно размещаются множимое и результаты промежуточных сложений, а по завершению операции - окончательный результат.
Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нём число уменьшается, пока не достигнут нулевого значения.
Для иллюстрации умножим 1100112 на 1011012.
Деление для компьютера является трудной операцией. Обычно оно реализуется путём многократного прибавления к делимому дополнительного кода делителя.
Представление вещественных чисел
Вещественными числами (в отличие от целых) в компьютерной технике называется числа, имеющие дробную часть.
При их написании вместо запятой принято писать точку. Так, например, число 5 - целое, а числа 5.1 и 5.0 - вещественные.
Для удобства отображения чисел, принимающих значения из достаточно широкого диапазона (то есть, как очень маленьких, так и очень больших), используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.25 можно в этой форме представить так:
1.25*100=0.125*101=0.0125*102=… ,
12.5*10-1=125.0*10-2=1250.0*10-3=… .
Если «плавающая» точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует:
Такое, наиболее выгодное для компьютера, представление вещественных чисел называется нормализованным.
Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание - в десятичной системе.
Примеры нормализованного представления:
|
Десятичное представление |
Двоичная система |
||||||
|
735.15 |
= |
0.75315*103 |
-101.01 |
= |
-0.10101*211 |
(порядок 112=310) |
|
|
-0.000034 |
= |
-0.34*10-4 |
-0.000011 |
= |
-0.11*2-100 |
(порядок -1002=-410) |
Вещественные числа в компьютерах различных типах записываются по-разному. При этом компьютер обычно предоставляет программисту возможность выбора из нескольких числовых форматов наиболее подходящего для конкретной задачи - с использованием четырёх, шести или десяти байтов.
В качестве примера приведём характеристики форматов вещественных чисел, используемых IBM-совместимыми персональными компьютерами.
|
Форматы вещественных чисел |
Размер в байтах |
Примерный диапазон абсолютных значений |
Количество значащих десятичных цифр |
|
|
Одинарный |
4 |
10-45…1038 |
7 или 8 |
|
|
Вещественный |
6 |
10-39…1038 |
11 или 12 |
|
|
Двойной |
8 |
10-324…10308 |
15 или 16 |
|
|
Расширенный |
10 |
10-4932…104932 |
19 или 20 |
Из этой таблицы видно, что форма представления чисел с плавающей точкой позволяет записывать числа с высокой точностью из весьма широкого диапазона.
При хранении числа с плавающей точкой отводятся разряды для мантиссы, порядка, знака числа и знака порядка:
Покажем на примерах, как записываются некоторые числа в нормализованном виде в четырёхбайтовом формате с семью разрядами для записи порядка.
Число -0.12510= -0.0012= -0.1*2-10 (отрицательный порядок записан в дополнительном коде):
Арифметические действия над нормализованными числами
При сложении и вычитании сначала производится подготовительная операция, называемая выравниванием порядков.
При сложении и вычитании чисел с плавающей точкой они предварительно выравниваются таким образом, чтобы порядок большего по величине числа становился порядком результата.
Рассмотрим такой пример.
Необходимо выполнить операцию алгебраического сложения над следующими двоичными числами
X = 0.11000001•211 и Y = -0.10000110•2110.
Допустим, под мантиссу в машине отведено 9 разрядов (8 - цифровые разряды, 1 - под знаковый разряд) и под порядок - 4 разряда (3 разряда - величина порядка, 1 разряд - знак порядка), т.е. заданные числа в прямом коде можно записать так:
Процесс сложения заданных чисел состоит из следующих шагов:
1-й шаг - выравнивание порядков для того, чтобы порядок числа X стал равен большему порядку числа Y:
X > 0 110 0 00011000
2-й шаг - перевод обеих мантисс в обратный код:
мантисса числа X 0 00011000
мантисса числа Y 1 01111001
3-й шаг - сложение мантисс:
0 00011000
+ 1 01111001
1 10010001
4-й шаг - перевод результата операции в прямой код:
1 01101110
5-й шаг - нормализация результата, сдвиг мантиссы влево на один разряд:
1 11011100
порядок уменьшается на единицу, вместо 110 становится равным 101.
6-й шаг - окончательно получаем результат, который расположится в ячейке таким образом:
? > 0 101 1 11011100
Эта запись выражает число следующего вида:
- 0. 11011100•2+101
При умножении порядки двух чисел складываются, а мантиссы перемножаются в соответствии с соотношением
x•y=2Px+Py•(mx•my)
При делении чисел о плавающей запятой порядки вычитаются, а мантиссы делятся, т.е.х/у=2Px-Py•(mx/my).
Если мантисса m результата арифметических операций умножения и деления выходит за пределы, указываемые неравенством (4), то она подвергается нормализации.В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в соответствующих разрядах обоих регистров, после чего мантиссы складываются или вычитаются.
В случае необходимости полученный результат нормализуется путём сдвига мантиссы результата влево. После каждого сдвига влево порядок результата уменьшается на единицу.
Пример 1. Сложить двоичные нормализованные числа 0.10111*2-1 и 0.11011*210. Разность порядков слагаемых здесь равна трём, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо:
|
0.00010111*210 |
|
|
0.11011 *210 |
|
|
0.11101111*210 |
Пример 2. Выполнить вычитание двоичных нормализованных чисел 0.10101*210 и 0.11101*21. Разность порядков уменьшается и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:
|
0.10101 *210 |
|
|
0.011101*210 |
|
|
0.001101*210 |
Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы: 0.1101*20.
Умножение
Пример 3. Выполним умножение двоичных нормализованных чисел:
(0.11101*2101)*(01001*211)=(0.11101*0.1001)*2(101+11)=0.100000101*21000
Деление
Пример 4. Выполнить деление двоичных нормализованных чисел:
0.1111*2100 : 0.101*211=(0.1111 : 0.101)*2(100-11)=0.11*210
Использовать представление чисел с плавающей точкой существенно усложняет схему арифметико-логического устройства.
Контрольные вопросы
Какая разница между целыми числами без знака и со знаком?
Для чего предназначены обратный и дополнительный коды?
Как из прямого кода получить обратный и дополнительный?
В чем особенность получения обратного и дополнительного кодов отрицательных чисел?
Как получить модифицированные обратный и дополнительный коды?
Для чего предназначены вещественные числа и как они записываются?
Что такое нормализованное представление вещественных чисел и для чего оно используется?
Задание
1.Запишите уменьшающийся ряд чисел +3, +2, …, -3 в однобайтовом формате: счисление позиционный компьютер цифровой
а) в прямом коде;
б) в обратном коде;
в) в дополнительном коде;
2.Запишите числа в прямом коде (формат 1 байт):
а) 31;
б) -63;
в) 65.
3.Запишите числа в обратном и дополнительном кодах (формат 1 байт):
а)-9;
б)-15;
в)-127;
4.Найдите десятичные представления чисел, записанных в дополнительном коде:
а)1 1111000;
б)1 0011011;
в)1 1101001;
г)1 0000000.
5.Найдите десятичные представления чисел, записанных в обратном коде:
а)1 1101000;
б)1 0011111;
в)1 0101011;
г)1 0000000.
5.Выполнить операции алгебраического сложения с плавающей точкой над следующими двоичными числами (ответ дать в прямом коде):
а)0.101101•2+101 + 0.110001•2+010
б)0.100101•2+001 + 0.100111•2-110
в)0.111011•2-101 + 0.110101•2-010
г)(-0.101011•2+111) + 0.100010•2+011
д) 0.110001•2-011 + (-0.101110•2-010)
е) (-0.110101•2-111) + (-0.101101•2-100)
6.Выполнить умножения над двоичными числами, записанными в форме с плавающей точкой. Полученное произведение вначале нормализовать, а затем округлить до шестого знака мантиссы:
а)0.110101•2+011 х 0.110111•2+-001
б)0.101011•2+110 х 0.100011•2-110
в)(-0.11011•2+101) x 0.101001•2+110
г)0.101110•2-001 x (-0.100101•2+-110)
д)0.110110•2-011 x (-0.110101•2-010)
е)(-0.101011•2+100) x (-0.100011•2-010)
7.Сложить X и Y в модифицированном обратном и модифицированном дополнительном восьмиразрядных кодах. Отметить случаи переполнения разрядной сетки.
а) X=10110;
Y=110101;
б) X=11110;
Y=-111001;
в) X=-11010;
Y=-100111
г) X=-11001;
Y=-100011;
д) X=-10100;
Y=-111010;
е) X=-1101;
Y=-111011.
Оформление отчета
Название, цель работы
Задание
Письменные ответы на контрольные вопросы
Краткий вывод по работе
4. «Логические основы построения цифровых автоматов»
Цель работы
«Рассмотреть аппарат булевой алгебры, выучить его аксиомы и научиться применять их при решении задач»
Порядок выполнения работы
Ознакомиться с теоретической частью
Получить задание у преподавателя
Оформить отчет
Теоретическая часть
Аппарат булевой алгебры
Высказывание - некоторое предложение, в отношении которого можно однозначно сказать, истинно оно или ложно.
Элементы. Схемы вычислительных устройств можно условно разделить на три группы: исполнительные, информационные и управляющие. Первые производят обработку информации, представленные в бинарной форме; вторые служат для передачи бинарной информации; третьи выполняют управляющие функции, генерируя соответствующие сигналы. Во всех случаях в тех или иных точках логических схем сигналы двух различных уровней могут представляться бинарными символами {0,1} или логическими значениями {Истина(True),Ложь(False)}. Поэтому множество элементов булевой алгебры является бинарным B={0,1}Б а сама алгебра называется бинарной, или переключательной. Её элементы называются константами или логическими 0 и 1, которым в ряде случаев соответствуют бинарные цифры, в других случаях - логические значения, соответственно ложь (False) и истина (True). В дальнейшем для обозначения булевых переменных будем использовать буквы латинского алфавита - x, y, z … Набор переменных x, y, z … может рассматриваться как n-разрядный двоичный код, разрядами которого являются эти переменные.
Операции. Основными или базовыми операциями булевой алгебры служат (табл.4.1): И (AND), ИЛИ (OR), и НЕ (NOT). Операция И называется логическим умножением или конъюнкцией и обозначается знаком умножения {*, ^}. Операция ИЛИ называется логическим сложением или дизъюнкцией и обозначается знаком сложения {+, Ў}/ Операция НЕ называется логическим отрицанием или инверсией (дополнением) и обозначается знаком {l,¬}.
Базовые логические операции
|
Операция |
Название операции |
Обозначение операции |
|
|
И (AND) |
Логическое умножение - конъюнкция |
*, ^ |
|
|
ИЛИ (OR) |
Логическое сложение - дизъюнкция |
+, Ў |
|
|
НЕ (NOT) |
Логическое отрицание - инверсия |
l,¬ |
При выполнении операций применяются: отношение эквивалентности «=» и скобки «()», которые определяют порядок выполнения операций.
Аксиомы (постулаты) алгебры логики.
Дизъюнкция двух переменных равна 1, если хотя бы одна из них равна 1:
0+0=0;
0+1=1;
1+0=1;
1+1=1.
Конъюнкция двух переменных равна 0, если хотя бы одна переменная равна 0:
0*0=0;
0*1=0;
1*0=0;
1*1=1.
Инверсия одного значения переменной совпадает с ёё другим значением:
1=0;
0=1.
Законы алгебры логики
Законы однопарных элементов:
универсального множества:
x+1=1; x*1=x.
нулевого множества:
x+0=x; x*0=0.
Законы отрицания:
двоичного отрицания:
дополнительности:
двойственности (де Моргана):
Комбинационные законы:
Формула, истинная при всех возможных интерпретациях, называется общезначимой (или тавтологией).
Формула называется противоречивой, если она ложна в любой интерпретации.
тавтологии:
x + x = x ;
;
коммутативные:
ассоциативные (сочетательные):
закон абсорбции (поглощения):
склеивания
дистрибутивные (распределения):
Законы двойственности де Моргана были обобщены Шенноном на произвольное количество двоичных переменных: инвертирование произвольной комбинации двоичных переменных, связанных знаками дизъюнкции и конъюнкции, эквивалентно инвертированию комбинации переменных с одновременной заменой конъюнкции на дизъюнкцию, и наоборот.
Рассмотрим на примерах некоторые приёмы и способы, применяемые при упрощении логических формул:
(законы алгебры логики применяются в следующей последовательности: правило де Моргана, сочетательный закон, законы дополнительности и нулевого множества).
(применяется правило де Моргана, выносится за скобки общий множитель, используется закон дополнительности).
(выносятся за скобки общие множители, применяется закон универсального множества).
Рассмотрим доказательство соотношения:
-- распределительный закон;
(применяются законы тавтологии и универсального множества).
Представление функций алгебры логики
Булевой (переключательной, двоичной) функцией называется двоичная переменная у, значение которой зависит от значений других двоичных переменных (x1,x2…xn), именуемых аргументами:
Задание булевой функции означает, что каждому из возможных сочетаний аргументов поставлено в соответствие определённое значение у.
При n аргументах общее число сочетаний N=22n. Так как по каждому сочетанию аргументов соответствует два значения функции (0,1), то общее число функции F=22n.
Булевая функция может быть задана на словах, таблично, алгебраически или числовым способом.
В таблице ниже представлена функция одной переменной y=y(x). При n=1 существует 4 функции, каждая из которых имеет своё название.
Табличное задание функции одной переменной
|
x |
0 |
1 |
|||
|
y0 |
0 |
0 |
y0=0 |
- const 0, или генератор 0; |
|
|
y1 |
0 |
1 |
y1=x |
- повторитель |
|
|
y2 |
1 |
0 |
y2= |
- инвертор; |
|
|
y3 |
1 |
1 |
y3=1 |
- const 1, или генератор 1. |
Для алгебры логики установлено, что
если где z1 и z2 - двоичные функции,
то .
Операцию замены одной функции другими функциями называют
суперпозицией. Эта операция даёт возможность с помощью функций с малым числом аргументов получить функцию с требуемым числом аргументов, используя только функцию двух аргументов.
Рассмотрим функцию двух аргументов. По определению существует 16 функций двух аргументов (таблица 4.3). При помощи набора булевых функций двух аргументов можно описать любую цифровую систему. НА практике используют не все функции, а лишь те из них, которые методом
суперпозиции обеспечивают представление любой другой функции. Набор таких функций называют функционально полным набором (ФПН).
Существует несколько ФПН. В качестве ФПН применяется дизъюнкция, конъюнкция и инверсия. Этот набор называют Основной ФПН (ОФПН).
Кроме ОФПН широкое применение получили:
функционально-полная система, включающая в себя только одну функцию - функцию Пирса (ИЛИ-НЕ);
функционально-полная система, включающая в себя только одну функцию - функцию Шеффера (И-НЕ).
При помощи этих функций можно построить любую цифровую систему.
Синтез логических устройств в базисе ОФПН состоит из представления этих функций в нормальных формах и минимизации.
Табличное задание функции двух переменных
|
x1 |
0 |
1 |
0 |
1 |
||
|
x2 |
0 |
0 |
1 |
1 |
||
|
y0 |
0 |
0 |
0 |
0 |
const 0, y0=0 |
|
|
y1 |
0 |
0 |
0 |
1 |
Конъюнкция y1=x1x2 |
|
|
y2 |
0 |
0 |
1 |
0 |
Запрет по x1:= |
|
|
y3 |
0 |
0 |
1 |
1 |
Повторитель x2: y3=x2 |
|
|
y4 |
0 |
1 |
0 |
0 |
Запрет по x2: y4=y12 |
|
|
y5 |
0 |
1 |
0 |
1 |
Повторитель x1: y5=x1 |
|
|
y6 |
0 |
1 |
1 |
0 |
Исключающее «или»: или сложение по модулю 2 |
Синтез и анализ переключательных схем
Переключательная схема - схематическое изображение некоторого устройства, состоящее из переключателей и соединяющих их
проводников, а так же входов и выходов на которые подается и с которых снимается электрический сигнал.
Каждый переключатель имеет только два состояния: замкнутое и разомкнутое. Переключателю Х поставим в соответствие переменную х, которая принимает значение 1 только в том случае, когда переключатель Х замкнут и схема проводит ток; если же переключатель разомкнут, то переменная х равна нулю. При этом два переключателя Х и связаны таким образом, что когда Х замкнут, то разомкнут и наоборот.
Следовательно, если переключателю Х поставлена в соответствие логическая переменная х, то переключателю должна соответствовать переменная .
Логическая переменная, равная единице, если схема проводит ток и равная нулю - если не проводит, является функцией от переменных соответствующих всем переключателям схемы, и называется функцией проводимости.
Рассмотрим функции проводимости F некоторых переключательных схем:
а)
Схема не содержит переключателей и проводит ток всегда, следовательно, F=1;
Схема содержит один постоянно разомкнутый контакт, следовательно, F=0;
в)
Схема проводит ток, когда переключатель Х замкнут, и не проводит, когда Х разомкнут, следовательно, F(x) = x;
г)
Схема проводит ток, когда разомкнут, и не проводит, когда замкнут, следовательно, F() = ;
д)
Схема проводит ток, когда оба переключателя замкнуты, следовательно, F(x,y) = xy;
е)
Схема проводит ток, когда хотя бы один из переключателей замкнут, следовательно, F(x,y) = x v y.
При рассмотрении переключательных схем решают, как правило, одну из основных задач: синтез или анализ схемы.
Синтез переключательной схемы по заданным условиям ее работы сводится к следующим трем этапам:
Составление функции проводимости по заданным условиям.
Упрощение этой функции
Построение соответствующей схемы.
Анализ схемы характеризуется следующими этапами:
Определение значений функции проводимости при всех возможных наборах входящих в эту функцию переменных.
Получение упрощенной формулы.
Рассмотрим примеры решения задач синтеза и анализа несложных переключательных схем.
Задачи синтеза
Построим схему, содержащую 4 переключателя х, у, z и t, такую чтобы она проводила ток, тогда и только тогда, когда замкнут контакт переключателя t и какой-нибудь из остальных трех контактов.
Решение:
Функция проводимости для данного случая имеет вид F(x,y,z,t) = t(x v y v z), а схема имеет вид:
Построим схему с пятью переключателями, которая проводит ток в том и только в том случае, когда замкнуты ровно четыре из этих переключателей.
Решение:
F(a,b,c,d,e) =
Схема имеет вид:
Задачи анализа
Найдем функцию проводимости схемы:
Решение:
Имеется четыре возможных пути прохождения тока при замкнутых переключателях a, b, c, d, e: через переключатели а, b; через переключатели а, e, d; через переключатели c, d и через переключатели с, e, b.
Функция проводимости F(a,b,c,d,e)=
Упростим переключательные схемы:
Решение:
F(x,y)=
Упрощенная схема:
Анализ и синтез более сложных схем может проводиться по тем же правилам, что и для вычислительных схем.
Контрольные вопросы
Какие 3 базовые логические операции существуют?
В чём состоит смысл булевой функции?
Каков приоритет (в порядке убывания) базовых логических функций?
Где на практике можно применять аппарат булевой алгебры?
В чём заключается закон двойственности Моргана-Шеннона?
Задание
1.Выполнить операцию логического отрицания
а)NOT 0.1110001111
б)NOT 1.0000111100
в)NOT 1.1010101010
г)NOT 0.0101010101
д)NOT 1.1110001110
е)NOT 0.1100110011
2.Выполнить операцию логического умножения:
а)0.1110001110 AND0.0011001100
б)0.0000111100 AND1.1010101010
в)0.0101011111 AND0.1111100000
г) 1.1011111000 AND1.1110001110
д)0.0000011111 AND 0.0101010101
е)1.1111000011 AND 1.1100110011
3.Выполнить операцию логического сложения:
а)1.0101010101 OR 1.1111100000
б)1.1100110011 OR 0.0001110001
в)0.0001110001 OR 1.1111000011
г)0.1110110110 OR 0.0011001100
д) l.1100000011 OR 0.0011111100
e) 0.0001111000 OR 1.1110000111
4.Выполнить операцию логического сравнения:
а)0.1110001110 XOR 0.0100010001
б)0.0000111100 XOR 1.1111000011
в)1.0011001100 XOR 0.1100110011
г)1.0101010101 XOR 1.1010111010
д)0.1111100000 XOR 0.1110001110
е)1.0000011111 XOR 1.0101010101
5.Упростить заданную схему.
Написать формулу исходной, упрощённой схемы.
Оформление отчета
Название, цель работы
Задание
Письменные ответы на контрольные вопросы
Краткий вывод по работе
5. «Решение задач алгебры логики»
Цель работы
«Усвоить основные операции алгебры логики, порядок выполнения операций в логических выражениях, научиться составлять таблицы истинности»
Порядок выполнения работы
Ознакомиться с теоретической частью
Получить задание у преподавателя
Оформить отчет
Теоретическая часть
условные обозначения логических операций
¬ A, не A (отрицание, инверсия)
A ? B, A и B (логическое умножение, конъюнкция)
A ? B, A или B (логическое сложение, дизъюнкция)
A > B импликация (следование)
таблицы истинности логических операций «И», «ИЛИ», «НЕ», «импликация» (см. презентацию «Логика»)
операцию «импликация» можно выразить через «ИЛИ» и «НЕ»:
A > B = ¬ A ? B или в других обозначениях A > B =
если в выражении нет скобок, сначала выполняются все операции «НЕ», затем - «И», затем - «ИЛИ», и самая последняя - «импликация»
иногда полезны формулы де Моргана:
¬ (A ? B) = ¬ A ? ¬ B
¬ (A ? B) = ¬ A ? ¬ B
Пример задания:
Для какого из указанных значений X истинно высказывание ¬((X > 2)>(X > 3))?
1 2) 23) 34) 4
Решение:
определим порядок действий: сначала вычисляются результаты отношений в скобках, затем выполняется импликация (поскольку есть «большие» скобки), затем - отрицание (операция «НЕ») для выражения в больших скобках
выполняем операции для всех приведенных возможных ответов (1 обозначает истинное условие, 0 - ложное); сначала определяем результаты сравнения в двух внутренних скобках:
|
X |
X > 2 |
X > 3 |
(X > 2)>(X > 3) |
¬((X > 2)>(X > 3)) |
|
|
1 |
0 |
0 |
|||
|
2 |
0 |
0 |
|||
|
3 |
1 |
0 |
|||
|
4 |
1 |
1 |
по таблице истинности операции «импликация» находим третий столбец (значение выражения в больших скобках), применив операцию «импликация» к значениям второго и третьего столбцов (в каждой строке):
|
X |
X > 2 |
X > 3 |
(X > 2)>(X > 3) |
¬((X > 2)>(X > 3)) |
|
|
1 |
0 |
0 |
1 |
||
|
2 |
0 |
0 |
1 |
||
|
3 |
1 |
0 |
0 |
||
|
4 |
1 |
1 |
1 |
значение выражения равно инверсии третьего столбца (меняем 1 на 0 и наоборот):
|
X |
X > 2 |
X > 3 |
(X > 2)>(X > 3) |
¬((X > 2)>(X > 3)) |
|
|
1 |
0 |
0 |
1 |
0 |
|
|
2 |
0 |
0 |
1 |
0 |
|
|
3 |
1 |
0 |
0 |
1 |
|
|
4 |
1 |
1 |
1 |
0 |
таким образом, ответ - 3.
Контрольные задания (часть 1).
Для какого из указанных значений числа X истинно высказывание
((X < 5)>(X < 3)) ? ((X < 2)>(X < 1))?
1 2) 23) 34) 4
Для какого числа X истинно высказывание ((X > 3)?(X < 3)) >(X < 1)?
12) 23) 34) 4
Для какого числа X истинно высказывание X > 1 ? ((X < 5)>(X < 3))?
12) 23) 34) 4
Для какого имени истинно высказывание:
¬ (Первая буква имени гласная > Четвертая буква имени согласная)?
ЕЛЕНА2) ВАДИМ3) АНТОН4) ФЕДОР
Для какого символьного выражения неверно высказывание:
Первая буква гласная > ¬ (Третья буква согласная)?
1)abedc2)becde3) babas 4) abcab
Для какого числа X истинно высказывание (X > 2)?(X > 5)>(X < 3)?
5 2) 23) 34) 4
Для какого из значений числа Z высказывание ((Z > 2)?(Z > 4)) >(Z > 3) будет ложным?
12) 23) 34) 4
Для какого имени истинно высказывание:
¬ (Первая буква имени согласная > Третья буква имени гласная)?
ЮЛИЯ2) ПЕТР3) АЛЕКСЕЙ4) КСЕНИЯ
Для какого из значений числа Y высказывание (Y < 5) ? ((Y > 1) > (Y > 5)) будет истинным?
12) 23) 34) 4
Для какого имени истинно высказывание:
(Вторая буква гласная > Первая буква гласная) ? Последняя буква согласная?
ИРИНА2) МАКСИМ3) МАРИЯ4) СТЕПАН
Основные законы алгебры логики
Таблица 1 - Законы алгебры логики.
Пример задания:
Укажите, какое логическое выражение равносильно выражению A ? ¬(¬B ? C).
¬A ? ¬B ? ¬C 2) A ? ¬B ? ¬C3) A ? B ? ¬C4) A ? ¬B ? C
Решение (использование законов де Моргана):
перепишем заданное выражение и ответы в других обозначениях:
заданное выражение
ответы: 1) 2) 3) 4)
посмотрев на заданное выражение, видим инверсию (операцию «НЕ») для сложного выражения в скобках, которую раскрываем по формуле де Моргана,
а затем используем закон двойного отрицания по которому :
Подобные документы
Роль и практическое значение автоматизации вычислений и обработки данных. Представление информации в компьютере, сущность системы счисления. Перевод числа из одной системы счисления в другую. Арифметические операции в позиционных системах счисления.
контрольная работа [1,2 M], добавлен 23.10.2009История систем счисления, позиционные и непозиционные системы счисления. Двоичное кодирование в компьютере. Перевод чисел из одной системы счисления в другую. Запись цифр в римской нумерации. Славянская нумерация, сохранившаяся в богослужебных книгах.
презентация [516,8 K], добавлен 23.10.2015Определение понятия и видов систем счисления - символического метода записи чисел, представления чисел с помощью письменных знаков. Двоичные, смешанные системы счисления. Перевод из одной системы счисления в другую и простейшие арифметические операции.
курсовая работа [232,6 K], добавлен 16.01.2012Общее представление о системах счисления. Перевод чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления. Разбивка чисел на тройки и четверки цифр. Разряды символов числа. Перевод из шестнадцатеричной системы счисления в десятичную.
практическая работа [15,5 K], добавлен 19.04.2011Обработка информации и вычислений в вычислительной машине. Непозиционные и позиционные системы счисления. Примеры перевода десятичного целого и дробного числа в двоичную систему счисления. Десятично-шестнадцатеричное и обратное преобразование чисел.
контрольная работа [41,2 K], добавлен 21.08.2010Понятие и классификация систем счисления. Перевод чисел из одной системы счисления в другую. Перевод правильных и неправильных дробей. Выбор системы счисления для применения в ЭВМ. Навыки обращения с двоичными числами. Точность представления чисел в ЭВМ.
реферат [62,0 K], добавлен 13.01.2011Порождение целых чисел в позиционных системах счисления. Почему мы пользуемся десятичной системой, а компьютеры - двоичной (восьмеричной и шестнадцатеричной)? Перевод чисел из одной системы в другую. Математические действия в различных системах счисления.
конспект произведения [971,1 K], добавлен 31.05.2009Примеры правила перевода чисел с одной системы в другую, правила и особенности выполнения арифметических операций в двоичной системе счисления. Перевод числа с десятичной системы в двоичную систему счисления. Умножение целых чисел в двоичной системе.
контрольная работа [37,3 K], добавлен 13.02.2009Система счисления как способ записи информации с помощью заданного набора цифр. История развития различных систем счисления. Позиционные и непозиционные системы. Вавилонская, иероглифическая, римская система счисления. Система счисления майя и ацтеков.
презентация [3,2 M], добавлен 05.05.2012Предыстория чисел, связь названий чисел с определенной схемой счета. Системы счисления в Древнем Египте, Вавилоне, Греции, Риме, Америке, Китае, Индии, Аравии и Западной Европе. Обозначения чисел у древних евреев. Позиционные системы счисления.
реферат [34,3 K], добавлен 15.03.2013
