Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

Лекция



Привет, Вы узнаете о том , что такое методы деления чисел с фиксированной запятой в прямых кодах, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое методы деления чисел с фиксированной запятой в прямых кодах, дополнительных обратных кодах , настоятельно рекомендую прочитать все из категории Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ.

Аннотация: В лекции даны методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах. Описаны операции над числами с плавающей запятой – умножение, деление, сложение, вычитание.

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

 

Если числа X и Y заданы в прямом коде, и они представлены с фиксированной запятой, то для выполнения деления используются два основных алгоритма:

 
  • со сдвигом и автоматическим восстановлением остатка ;
  • со сдвигом делителя и автоматическим восстановлением остатка.
 

Пусть: [X]пк = sign X. x1x2..xn

 

[Y]пк = sign Y. y1y2..yn

 

[Z]пк = [X]пк/[Y]пк = sign Z. z1z2..zn

 

X и Y должны быть такими, чтобы:

 

|Z| < 1 (то есть фиксированная запятая )

 

Деление в прямом коде со сдвигом и автоматическим восстановлением остатка

  1. 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
  2. 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
  3. Если 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах., то z0 = 1 и 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах. ( z0 – целая часть результата).

     

    Если 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах., то z0 = 0 и 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

     
 

и т. д.

 

Пример:

 
\lbrack X \rbrack_{пк} = 0.100\\
\lbrack Y \rbrack_{пк} = 1.110\\
sign\ Z = 1 \oplus  0 = 1\\
\lbrack-|Y| \rbrack_{дк} = 1.010

+0.100 = [|X|]дк

 

1.010 = [-|Y|]дк

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

0.110 = [|Y|]дк

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

1.010 = [-|Y|]дк

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

0.110 = [|Y|]дк

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

Ответ: [Z]пк = 1.101

 

Деление в прямом коде со сдвигом делителя и автоматическим восстановлением остатка

  • 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
  • 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
  • Если 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах., то z0 = 1.

     

    Если 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах., то z0 = 0.

     
    9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
     
 

Разрядная сетка (n + d) разрядов, где d = log2n

 

Пример:

 
1) [X]
пк
 = 1.1001
2) [Y]
пк
 = 1.1011
n = 4, d = 2
 
9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
 

Ответ: [Z]пк = 0.1100

Пример:

 
\lbrack X \rbrack_{пк} = 0.100\\
\lbrack Y\rbrack_{пк} = 1.110\\
sign\ Z = 0 \oplus  1 = 1\\
\lbrack -|Y|\rbrack_{мдк}= 11.010\\
|Y| = 00.110
9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
 

Ответ: [Z]пк = 1.101

 

Деление в дополнительном (обратном) кодах со сдвигом и автоматическим восстановлением остатка

[X]дк,ок ; [Y]дк,ок

 
9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
 

Деление в ОК не применяется, так как "0" в ОК имеет двойное изображение. В первом такте вместо 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах. берется sign X, а вместо 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах. берется [X]дк,ок

 

Пример:

 
[X]
дк
 = 1.0111 
[Y]
дк
 = 1.0011 
Т.к. sign X = sign Y,то
 

+1.0111 | 1.0011

 

0.1101 = -[Y]дк

 

______

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

1.0011 = [Y]дк

 

______

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

0.1101 = +[-[Y]дк ]дк

 

______

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

1.0011 = [Y]дк

 

______

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

0.1101 = +[-[Y]дк ]дк

 

______

 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

Ответ: [Z]дк = 0.1011

 

Это справедливо при 0 <= [Z]дк = [X]дк / [Y]дк ]| < 1.

 

Если необходимо определить частное |[Z]дк = [X]дк / [Y]дк | | < 2, то поступают так:

 

[X]дк*2-1 / [Y]дк = z0z1z2...zn, z0 – знак, z1 – целая часть числа.

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

В основе арифметических операций над числами с плавающей запятой лежат принципы, на которых базируются операции над числами сфиксированной запятой. Об этом говорит сайт https://intellect.icu . При этом есть и некоторые особенности.

 

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

 

Умножение:
X = 2
mx
 * sign X.x
1
x
2
...x
n
Y = 2
my
 * sign Y.y
1
y
2
...y
n
Z = X*Y = 2
mx+my
 * sign Z.z
1
z
2
...z
n
 

Порядок выполнения операции следующий:

 
  1. Знак произведения находится так же, как и при умножении чисел с фиксированной запятой:

     
  2. Порядок произведения находится алгебраическим суммированием порядков мно­жимого и множителя.
  3. Мантисса находится по правилам умножения чисел с фиксированной запятой.

     

    При этом возможны следующие случаи:

     
    • Мантисса произведения – ненормализованное число, так как

       
      \frac12  \le  |M_{x}| < 1,\\
\frac12  \le  |M_{y}| < 1,\ то \\
\frac14  \le  |M_{x}*M_{y}| < 1,\ при\ \frac14  \le  |M_{x}*M_{y}| <
\frac12 \\
имеем\ ненормализованное\ число.

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

       

      С этой целью нужно сдвинуть мантиссу влево на один разряд. Это соответствует умножению числа на 21. Для того чтобы число не увеличилось в два раза, нужно из порядка вычесть единицу.

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

       

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

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

       
     
 

Деление

В основном аналогично умножению:

 
X = 2
mx
 * sign X.x
1
x
2
...x
n
Y = 2
my
 * sign Y.y
1
y
2
...y
n
Z = X/Y = 2
mx–my
 * sign Z.z
1
z
2
...z
n
 

Порядок выполнения операции следующий:

 
  1. Находится по известным правилам знак частного.
  2. Порядок частного находится как разность порядков делимого и делителя.
  3. Цифры частного находятся так:

     

    вначале находится целая часть мантиссы, то есть 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

     

    Если 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах., если 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах., то z0 = 0.

     
 

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

 
\frac12  \le  |M_{x}| < 1,\\
\frac12  \le  |M_{y}| < 1,\\
2^{-1} < |M_{x} / M_{y}| < 2

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

 

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

Сложение и вычитание

Обе операции выполняются по сходным алгоритмам.

 
X = 2^{mx} * sign\ X.x_{1}x_{2}\dots x_{n}\\
Y = 2^{my} * sign\ Y.y_{1}y_{2}\dots y_{n}\\
Z = X \pm  Y = 2^{max(mx,my)}.sign\ Z.z_{1}z_{2}\dots z_{n}

Операция выполняется следующим образом:

 
  1. Находится разность порядков: 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.
  2. Производится выравнивание порядков, при этом если разность порядков положительна, то в качестве порядка результата берется mx, а мантисса My сдвигается вправо на |mx– my| разрядов; еcли разрядность порядков отрицательна, то денормализуется мантисса Mx.
  3. Производится алгебраическое суммирование мантисс слагаемых.
  4. Выполняется нормализация влево или вправо на соответствующее число разрядов с необходимым исправлением порядка.
 

Пример:

 
порядок       мантисса
[m
x
]
пк
 = 0.11 [M
x
]
пк
 = 0.1010
[m
y
]
пк
 = 0.10 [M
y
]
пк
 = 0.1110
Находим разность порядков:
    
+
00.11 = [m
x
]
мок
     11.01 = [-m
y
]
мок
  1| 00.00
   |_ _->1
 

00.01 = 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах. - разность порядков.

 
Так как m x > m
y
, то:
        
+
00.1010 = [M
x
]
мок
         00.0111 = [M
y
]
мок
 * 2
-1
[Z]мок = 01.0001 – переполнение
         2
-1
 * [Z]
мок
 = 00.1000 – нормализация
                max(m
x
,m
y
) = [m
x
]
мок
 = 
+
00.11
                              [1]
мок
 = 00.01
                             [m
x
]
мок
 = 01.00 – переполнение порядка
 

Z = 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах..

 

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

 

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

 

В качестве результата берется максимальное число.

 

Пример:

 
[m
x
]
ок
 = 0.101 [M
x
]
ок
 = 0.10111101
[m
y
]
ок
 = 1.001 [M
y
]
ок
 = 0.10000001
 

Разность порядков:

 
+
00.101 = [m
x
]
мок
 00.110 = [-m
y
]
мок
 

9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах. – то есть это число 11 10 , а в разрядной сетке мантиссы только 8 разрядов.

 

Поэтому операция блокируется, а результатом является число:

 
[m
x
] = 0.101 [M
x
] = 0.10111101
 

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

 

Пример:

 
[m
x
]
ок
 = 1.010 [M
x
]
ок
 = 1.10101011
[m
y
]
ок
 = 0.110 [M
y
]
ок
 = 1.11111111
 

Разность порядков:

 
+
  11.010 = [m
x
]
мок
   11.001 = [-m
y
]
мок
   _______
+
1| 10.011
         1
   _______
 

10.100 = 9.методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах.

 

То есть разность порядков меньше (-8).

 

Операция блокируется, а результатом будет число:

 
[m
y
]
ок
 = 0.110 [M
y
]
ок
 = 1.11111111
 

Десятичные двоично-кодированные системы.

Иногда в ЭВМ используются десятичные системы счисления. Их выгодно использовать тогда, когда объем исходных данных для обработки на ЭВМ – велик, сама обработка производится по относительно несложным программам. На этом происходит значительная экономия времени, которая вытекает из того, что не нужно делать перевод из десятичной в двоичную систему и обратно.

 

Как правило, в состав оборудования таких ЭВМ вводится АУ, работающее с числами в десятичной системе счисления. Поскольку в качестве основного запоминающего элемента используется триггер-ячейка с двумя устойчивыми состояниями, то каждая десятичная цифра кодируется совокупностью двоичных символов.

 

Перевод чисел из десятичной системы в десятичную двоично-кодированную выполняется исключительно просто, поразрядно и одновременно по всей сетке:

 
879,65_10 -> 1000 0111 1001, 0110 010110^-2
 

Аналогично, выполняется и обратный перевод:

 
0110 1001, 0101 0011
10^-2
 -> 69, 53
10
 

Существует большое разнообразие десятичных двоично-кодированных систем. Это многообразие вытекает из избыточности двоичного кода, при котором из 16 возможных комбинаций в каждом разряде используется по прямому информационному назначению лишь 10.

 

Наиболее широкое применение находят системы кодирования 8421 и 8421+3 (код Штибитца).

 

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

 

0000 - 0

 

0001 - 1

 

0010 - 2

 

0011 - 3

 

0100 - 4

 

0101 - 5

 

0110 - 6

 

0111 - 7

 

1000 - 8

 

1001 - 9

 

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

 

Система 8421+3 - более интересна, т.к. она обладает свойством самодополнения. Видно, что дополнение до 9 можно получить, применяя операцию поразрядного инвертирования кода.

 

0011 – 0

 

0100 – 1

 

0101 – 2

 

0110 – 3

 

0111 – 4

 

1000 – 5

 

1001 – 6

 

1010 – 7

 

1011 – 8

 

1100 – 9

 

Всего существует А1610 = 2,9•1010 вариантов 10-ых двоично-кодированных систем.

Выводы из данной статьи про методы деления чисел с фиксированной запятой в прямых кодах указывают на необходимость использования современных методов для оптимизации любых систем. Надеюсь, что теперь ты понял что такое методы деления чисел с фиксированной запятой в прямых кодах, дополнительных обратных кодах и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ

создано: 2016-04-15
обновлено: 2024-11-14
277



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ

Термины: Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ