Файл: Сарингулян, Э. В. Арифметические и логические основы цифровых машин учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.10.2024
Просмотров: 49
Скачиваний: 0
2) применение двоичной системы счисления дает возмож ность достаточно просто реализовать арифметические и логи ческие операции. Это обстоятельство существенно упрощает функциональный состав машины.
В табл. 2.1 и 2.2 показано сложение и умножение двоичных цифр.
Т а б л и ц а 2.1
Таблица сложения
0 + 0 = 0
0 + 1 = 1
1 + 0 - 1
1 + 1 = 1 0
Т а б л и ц а 2.2
Таблица умножения
0 x 0 |
= 0 |
о X |
г о |
i x o - o |
|
1 X 1 |
— 1 |
Арифметические операции над двоичными многоразряд ными числами выполняются аналогично операциям в десятич ной системе счисления (табл. 2.3).
|
|
|
|
|
Т а б л и ц а 2.3 |
||
Операции |
Десятичная |
система |
Двоичная система |
||||
|
, |
19,61 |
|
. |
101,101 |
||
Сложение |
' |
7,81 |
|
|
10 |
111 |
|
|
|
27,45 |
|
1000,100 |
|||
|
|
37,16 |
|
|
1011,01 |
||
Вычитание |
— |
5,08 |
|
~ |
101,11 |
||
|
|
32,08 |
|
|
101 ,10 |
||
|
|
|
3,12 |
|
|
1001,11 |
|
Умножение |
|
х |
2,04 |
|
* |
10,01 |
|
|
1 |
248 |
|
|
1001 |
11 |
|
|
|
|
|
||||
|
^ |
624 |
|
+ |
100111 |
|
|
|
|
6,3648 |
|
10101,1111 |
|||
|
|
204 |
12 |
|
1100 |
100 |
|
Деление |
_ |
12 |
17 |
_ |
100 |
|
11 |
|
— |
|
|
|
|
|
|
|
|
84 |
|
|
100 |
|
|
|
|
0 |
|
|
0 |
|
|
]0
Разряды двоичных чисел принимают значения 1 или 0. Эта особенность позволяет путем несложного схемного решения реализовать логические операции, содержащие поразрядное сравнение кодов, выделение части числа, сдвиги и т. д.
К недостаткам двоичной системы следует отнести необхо димость перевода исходной информации, представленной в об щепринятой десятичной системе, для ввода в машину. Резуль таты решения задачи целесообразно выдавать из машины в десятичной системе. Таким образом, необходимо осуществлять обратный перевод, выполняемый также по специальной про грамме.
Универсальный алгоритм, на основании которого выпол няется 'перевод из одной системы счисления в другую, заклю чается в последовательном делении целой части числа и полу чаемых частных на основание новой системы и последователь ном умножении дробной части исходного числа и получаемых произведений на то же основание, представленное в исходной системе счисления.
Если представить в системе счисления с основанием q це лую часть числа N n (2.1) в виде [1]:
yv;,<7)== + (/v,;_ I. F - 4 - ^ , - 2 - ^ - 2+ • • • -f д ^ '+ л д , (2.2)
где k— основание новой системы, то при последовательном де лении приведенного выражения, записанного цифрами систе мы q, на основание k будут определяться остатки, которые представляют собой цифры целой части числа в новой системе счисления. Процесс продолжается до получения частного, рав ного нулю. Остатки Nj являются цифрами переведенного чис ла, причем остаток N „_, представляет собой старшую цифру.
Если представить в системе счисления с основанием q дробную часть числа Л/лр в виде
M § = ± ( N - r b - l + N - 2- k - * + ■ • • 4 - А ^ .А - " 1). (2.3)
то путем последовательного умножения дробной части исход ного числа и дробных частей получающихся произведений на основание новой системы счисления k будут найдены все целые части, которые являются цифрами дробной части взятого для перевода числа в системе k. Первая после умножения целая часть TV-j представляет собой первую цифру дробной части переведенного числа.
Рассмотрим примеры перевода чисел.
Пример 1. Перевести из десятичной системы счисления число Л^к» =249,17 в двоичную систему по изложенному выше алгоритму.
Представим целую и дробную части числа A'(i0):
Аф10) = 249; |
N $ ,= 0,17. |
11
Для перевода целой части числа Л^ш) выполним после довательное деление частных на основание двоичной системы,
принимая за первое частное Л/цо) исходное число.
2 остатки
249^10) |
1 |
|
|
124 |
0 |
|
|
62 |
0 |
jV(io, = 249, |
/V(u2) = 11111001 |
31 |
1 |
||
15 |
1 |
|
|
7 |
1 |
|
|
Э1
1 1
Для перевода дробной части числа Nfw) выполним после довательное умножение значений числа после запятой на осно вание 2.
0,17 |
|
|
034 |
|
|
068 |
|
|
Х ___ 2_ |
|
|
136 |
|
Щ = 0,0010101 |
х ___2 |
Л$о) = 0,17 |
|
072 |
|
|
144
2
088
Км
176 и т. д.
Порядок считывания двоичных разрядов целой и дробной ча стей переведенного числа показан стрелками. При переводе десятичной дроби количество двоичных разрядов определяется заданной точностью, в данном примере выбран знак после за пятой.
249,17(io) -*■ 11111001,0010101(2).
Пример 2. Перевести из двоичной системы счисления число *Y(2) =dil01Oil 11,101001 в систему с основанием 10, пользуясь приведенными выше правилами.
12
Основание десятичной системы счисления в исходной систе ме имеет следующую запись 1010. Тогда при переводе целой части числа остатки от деления будут определены:
1 ) |
1 1 0 1 0 1 1 1 ( 2) : |
1 0 1 0 (2) |
= |
1 0 1 0 1 ( 2 ) |
о с т а т о к 1 0 1 (2) |
|
2 ) |
1 0 1 0 1 (2) : |
1 0 1 0 (7) |
= |
1 0 ( 2) |
о с т а т о к |
1 (2) - у |
3 ) |
1 0 ( 2, : |
1 0 1 0 (2) = |
0 |
о с т а т о к |
1 0 ( 2) - * ■ |
|
|
Л$>) = |
11010111, |
|
Л'(им) = |
215 |
Проанализируем результат: последовательного умножения при переводе дробной части:
1) |
0,101001 |
2) |
0,011010 |
Х |
10Ю |
|
Х _____ 1010 |
, |
101001 |
|
1101 |
'г |
101001 |
|
1101 |
|
110,011010 |
|
100,000100 |
Значение первой целой части Л /_,= 110 является первой после запятой цифрой исходного числа в новой системе счисления, изображенной в системе с основанием 2.
110(2) 6(Ю).
Аналогичные рассуждения можно провести и для 'последую щих разрядов дробной части переведенного числа:
Л'_2= 100. 100(2) ->■4(10).
Т огда
Л$) = 0,101001
имеет десятичный эквивалент
Л'?1Ро; = 0,64.
Искомое число
А;(1Р) = 215,64.
Приведенные правила перевода чисел из одной позицион ной однородной системы счисления в другую следует приме нять, учитывая особенности записи и выполнения арифмети че ских операций в исходной системе.
Рассмотрим пример перевода числа из восьмеричной в двоичную и затем в десятичную систему счисления. Для второ предварительно приведем таблицу записи ряда чисел в систе мах с основаниями 10; 2; 8 (табл. 2.4).
13