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

УП Информатика

.pdf
Скачиваний:
73
Добавлен:
22.03.2015
Размер:
549.79 Кб
Скачать
xm, то в знаковый разряд записывается едини-

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

Таким образом, форма представления чисел с плавающей точкой позволяет записывать числа из широкого диапазона и с достаточно высокой точностью. Это дает такой форме преимущества перед способом записи чисел с фиксированной точкой. Но существенный недостаток такого представления – значительное усложнение арифметических операций [2].

1.4. Кодирование чисел в ЭВМ

Для машинного представления отрицательных чисел применяют специальные коды – прямой, обратный, дополнительный.

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

Для положительного числа X в закодированном виде прямой код Xпр совпадает с записью самого числа: если X = x1 x2 xm, то знаковый разряд (слева) отделяется точкой и в него записывается нуль.

Xпр = 0. x1 x2 xm.

Для отрицательного числа X в закодированном виде прямой код Xпр имеет такую запись:

если X= – x1 x2

ца;

Xпр = 1. x1 x2 xm.

П р и м е р . Представить числа X1 = 11010 и X2 = – 11010 в прямом коде:

21

X1 пр = 0.11010; X2 пр = 1.11010.

Изображение нуля в прямом коде неоднозначно, т.е. для тривиального равенства 0 = + 0 = – 0 справедливо следующее:

+ 0пр = 0.00 … 00;

0 пр = 1.00 … 00.

Впрямом коде нуль может иметь два представления, которые,

соответственно, называются положительным и отрицательным

машинным нулем.

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

Обратный код. Обратный код положительного числа X совпадает с его прямым кодом;

если X > 0, Xобр = Xпр = X.

Обратный код отрицательного числа X образуется следующим образом:

а) в знаковый разряд записывается единица; б) в цифровых разрядах единицы заменяются нулями, а нули –

единицами.

П р и м е р .

а) Обратный код положительного числа X = 10110 равен Xобр = 0.10110. б) Обратный код отрицательного числа X = – 10110 равен Xобр = 1.01001.

Дополнительный код. Дополнительный код положительного числа совпадает с его прямым кодом:

Xдоп = Xпр = X.

22

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

а) в знаковый разряд записывается единица; б) во всех цифровых разрядах единицы заменяются нулями, а ну-

ли – единицами; в) к младшему разряду добавляется единица.

П р и м е р . Дополнительный код:

положительного числа X = 10010 равен этому числу Xдоп = 0.10010; отрицательного числа X = – 10010 равен Xдоп = 1.01101 + 0.00001 =

= 1.01110;

отрицательного числа X = – 11001 равен Xдоп = 1.00110 + 0.00001 = = 1.00111.

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

П р и м е р . Сложить два числа X = 101 и Y = – 001 в обратных кодах:

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

При этом результат операции сложения положительный, так как в знаковом разряде стоит 0. Окончательный результат: 100.

23

Операция циклического переноса необходима, когда единица «выходит» за знаковый разряд. Если в знаковом разряде результата стоит 1, то результат операции будет отрицательным.

При сложении в дополнительном коде единица переноса, «вышедшая» за знаковый разряд, отбрасывается, а к младшему разряду единица не прибавляется.

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

На выполнении элементарных таблиц сложения и умножения основано построение арифметических операций в ЭВМ с двоичными числами.

Сложение и умножение выполняются по следующим правилам:

П р и м е р .

+ 000111 110110

111101

Вычитание выполняется по следующим правилам:

24

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

П р и м е р .

При делении двоичных чисел необходимо избавиться от дробной части (101.01:11.1 → 10101:1110) и затем делить обычным способом.

В ЭВМ вместо операции вычитания выполняется операция сложения уменьшаемого с вычитаемым противоположного знака и с использованием обратного или дополнительного кода. Например, в дополнительном коде предыдущая операция вычитания будет представлена так:

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

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

1.Чем отличается позиционная система счисления от непозиционной?

2.Почему в ЭВМ используется двоичная система счисления?

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

25

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

5.Чем отличаются формы представления чисел с фиксированной точкой

ис плавающей точкой?

6.В каком случае применяются обратный и дополнительный коды?

7.Как перевести число из обратного кода в прямой?

8.Как перевести число из дополнительного кода в прямой?

Задания для самостоятельного решения

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

1)34.2610 → X2;

2)45.3210 → X8;

3)172.15310 → X16;

4)11010111012 → X8;

5)0.10011012 → X10;

6)111101000111002 → X16;

7)4C3,516 → X2;

8)2F616 → X8;

9)DA.5216 → X10;

10)3758 → X2;

11)642, 538 → X10;

12)477.338 → X16;

2. Записать в форме с фиксированной точкой числа, представленные в формате с плавающей точкой:

1)0.1E–05;

2)– 5.378E4;

3)2.3006E+03

4)6.4153E+02;

5)1.7841E+04:

6)– 7.4385E+00;

7)0.13E– 10;

8)– 4.19221E+03;

9)2.5E+09.

26

3. Представить числа в формате с плавающей точкой:

1)56.278;

2)0.341;

3)7.8901;

4)– 0.3456;

5)– 51.271;

6)– 0.0059;

7)3921.74;

8)– 8877.6655;

9)395.786.

4. Выполнить сложение и вычитание двоичных чисел X и Y:

1)X = 11101, Y = 1011;

2)X = 1001, Y = 100;

3)X = 110011, Y = 10110;

4)X = 1011001, Y = 110;

5)X = 1101, Y = 11;

6)X = 10111, Y = 10101.

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

1)X = 1001, Y = 11;

2)X = 11001, Y = 1011;

3)X = 1010, Y = 1110;

4)X = 1101, Y = 111;

5)X = 1011, Y = 1001;

6)X = 1111, Y = 1101.

6. Перемножить двоичные числа, проверив результат умножения делением:

1)X = 1011, Y = 1001;

2)X = 110, Y = 11;

3)X = 11001, Y = 101;

4)X = 11011, Y = 1101.

27

2. ЛОГИЧЕСКИЕ ОСНОВЫ РАБОТЫ ЭВМ

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

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

Математическая логика – современная форма логики, которая полностью опирается на формальные математические методы.

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

Основное понятие алгебры логики — высказывание. Высказы- вание — некоторое предложение, о котором можно утверждать, что оно истинно или ложно. Например, высказывание «Волга впадает в Каспийское море» истинно, а о высказывании «на улице идет дождь» можно сказать, истинно оно или ложно, если указаны дополнительные сведения о погоде в данный момент.

Любое высказывание можно обозначить символом х и считать, что x = 1, если высказывание истинно, а х = 0 – если высказывание ложно.

Логическая (булева) переменная – такая величина х, которая мо-

жет принимать только два значения: х = {0, 1}.

Высказывание абсолютно истинно, если соответствующая это-

му высказыванию логическая величина принимает значение х = 1 при любых условиях. Пример абсолютно истинного высказывания

– высказывание «Земля – планета Солнечной системы».

Высказывание абсолютно ложно, если соответствующая этому высказыванию логическая величина принимает значение х = 0 при любых условиях.

Например, высказывание «Земля – спутник Марса» абсолютно ложно.

Логическая функция (функция алгебры логики) – функция f(х1, x2, …, xn), принимающая значение, равное нулю или единице на наборе логических переменных x1, x2, …, xn [1].

28

2.2. Элементарные функции алгебры логики и их свойства

Логические функции от одной переменной представлены в табл. 2.

Таблица 2

Таблица истинности для функции одной переменной

 

X

 

f1(x)

f2(x)

f3(x)

f4(x)

 

 

 

 

 

 

 

 

 

 

0

 

1

0

0

1

 

 

1

 

1

0

1

0

 

 

 

 

 

 

 

 

 

Функция

f1(x) является абсолютно истинной (константа едини-

цы).

 

 

 

 

 

 

Функция f2(x) – абсолютно ложная функция (константа нуля).

Функция

f3(x), повторяющая значения логической переменной,

– тождественная функция [ f3(x) ≡ х].

 

 

 

Функция f4(x), принимающая значения, обратные значениям х, – логическое отрицание, или функция НЕ (обозначается f4(x) = ¬ х =

= x ).

Логические функции от двух переменных представлены в табл. 3.

 

 

 

 

 

 

 

 

Таблица 3

 

Таблица истинности для функции от двух переменных

 

 

 

 

 

 

 

 

 

 

 

 

f5

f6

f7

f8

F9

f10

 

F11

 

x1

x2

x1 Ù x2

x1 Ú x2

x1 ® x2

x1 Å x2

x1 Û x2

x1 | x2

x1 x2

 

0

0

0

0

1

0

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

1

1

0

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

1

0

1

0

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

1

0

1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

29

Конъюнкция (логическое умножение) – функция f5(x1, x2), кото-

рая истинна только тогда, когда и х1, и x2 истинны. Конъюнкцию часто называют также функцией И и условно обозначают так:

f5(x1, x2) = x1 x2= x1 · x2= x1 & x2.

Дизъюнкция (логическое сложение) – функция f6(х1, x2), которая истинна тогда, когда истинны или х1, или х2, или обе переменные. Дизъюнкцию называют также функцией ИЛИ и условно обозначают так:

f6(x1, x2) = x1 + x2= x1 x2.

Импликация — функция f7(x1, x2), которая ложна тогда и только тогда, когда x1 истинно и x2 ложно. Условное обозначение f7(x1, x2) =

= x1 x2 .

Функция сложения по модулю 2 – функция f8(x1, x2), которая ис-

тинной, когда истинны или х1, или x2 в отдельности. Условное обо-

значение этой функции: f8(x1, x2) = x1 Å x2.

Штрих Шеффера – функция f10(x1, x2), которая ложна тогда и только тогда, когда x1 и x2 истинны. Условное обозначение функции Шеффера: f10(x1, x2) = x1 / x2. Другое название функции НЕ И.

Функция Пирса (Вебба) – функция f11(x1, x2), которая истинна только тогда, когда x1 и x2 ложны. Условное обозначение этой функции: f11(x1, x2) = x1 x2 . Другое название функции НЕ ИЛИ.

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

f1(x1, x2, , xn) = f2(x1, x2, , xn).

Булевы переменные могут быть действительными или фиктивными. Переменная xi действительна, если значение функции f(x1, … , xi, , xn) изменяется при изменении xi. Переменная xi фиктив-

30