Арифметические основы работы цифровых устройств
Любая система счисления предназначена для однозначной записи чисел и выполнения арифметических действий.
Унитарная система — это простейшая система счисления. Вторая система счисления с использованием римских цифр и знаков — это аддитивное представление числа, при этом проявляется позиционность.
Формы представления:
· с фиксированным положением запятой (",") или точки (".");
· с плавающей "," или ".".
Любое число имеет мантиссу (правильную дробь, первый знак которой отличен от ноля) и порядок. Например, 0,1961.Е4.
Навыки использования позиционного аддитивного счисления.
Представим число 5,73 (0,573.Е4) в двоичной системе счисления с погрешностью D ³ 2-4. Сначала представим в двоичном коде целую часть, для этого необходимо делить ее на 2:
Затем представляем в том же коде дробную часть числа, для чего, исходя из условия погрешности, необходимо десятичную дробь умножать на 2:
,73 | |
,46 | |
,92 | |
,84 | |
,68 | |
,36 |
В итоге, получается число 101,10111. Теперь его необходимо округлить с точностью до требуемой величины D, то есть до четвертого знака после запятой: получаем 101,11.
Представление чисел в двоичной, восмиричной и шеснадцатеричной системах счисления
Системы счисления | |||
десятичная | двоичная | восмирич-ная | шестнад-цатиричная |
0A | |||
0B | |||
0C | |||
0D | |||
0E | |||
0F | |||
Представление чисел с учетом знака
Цифровые устройства не умеют вычитать, умножать и делить. Они умеют только складывать (таблица истинности полного одноразрядного сумматора). поэтому операцию вычитания сводим к операции сложения разнозначных чисел.
Для представления отрицательного числа под знак отводится один или два разряда с местоположением левее старшего разряда числа. Для записи положительного числа в знаковый разряд записывается ноль ("0"); для отрицательного числа — "1". В значащую часть положительного числа записывают прямой двоичный код, в значащую часть отрицательного — либо обратный, либо дополнительный коды: для представления числа в обратном коде в значащую часть числа необходимо дописать дополнение до числа 2n-1, где n — число разрядов значащей части исходного числа; для представления числа в дополнительном коде в значащую часть числа необходимо дописать дополнение до числа 2n, где n — число разрядов значащей части. Если положительное слагаемое, представленное в образовавшемся коде, после выполнения операции сложения над всеми, в том числе и знаковым, разрядами слагаемых, в знаковом разряде возникает перенос, то этот перенос добавляется к младшему разряду суммы; если отрицательное слагаемое было представлено в дополнительном коде, то после сложения всех разрядов, включая знаковый, в нем возникает перенос, этот перенос игнорируется.
Вывод: структура сумматора ориентирована на работу с отрицательными числами либо в обратном, либо в дополнительных кодах.
Пример:
А + В = 5,12+9,81= 0101,0010 + 0110,0010 0101,0010 1001,1101 Ответ: 1110,1111 В десятичном коде: 14,9375 | А – В = 5,12-9,81= 0101,0010 – 0110,0010: 0 0101,0010 1 0110,0010 1 1 1011,0100 — обратный код суммы Ответ: - 0100,1011 В десятичном коде: -4,6875 |
Умножение. Деление
При умножении двоичных чисел знак произведение определяется логической операцией "исключающее или", а модуль произведения формируется в результате сложения частных произведения, каждая частная произведения есть результат логического умножения первого сомножителя на соответствующий разряд второго сомножителя с учетом его веса.
При делении двоичных чисел знак частного определяется логической операцией "исключающее или". Для определения модуля частного от делимого отделяется число разрядов равное или на один больше числа разрядов делителя. После этого выполняется операция вычитания (суммирования разнозначных чисел). если разность больше ноля, то в разряд частного записывается единица ("1"), если меньше ноля — "0". После этого к положительной разнице добавляется следующий разряд делимого и операция повторяется. Если разница меньше ноля, то она не определяется, а к уменьшаемому добавляется следующий разряд делимого и операция повторяется. Количество последовательно выполняемых операций соответствует требуемой точности определяемого частного.
Пример:
А . В = 5,12 . 9,81: 01010010 . Ответ: 0110010,01001010 В десятичной системе счисления: 50,2890625 | А : В = 6,75/2,25: | |||
делитель и делимое домножили на 4, чтобы избавиться от запятой | ||||
11,0 | ||||
1001 | ||||