KursLek110_2 (Лекция)
Описание файла
Файл "KursLek110_2" внутри архива находится в папке "Лекция". PDF-файл из архива "Лекция", который расположен в категории "". Всё это находится в предмете "основы теории вычислительных систем" из 6 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
1.5. Двоично-десятичные с/сВ вычислительной технике интерес представляют также R/Q-ичные с/с. Врамках R/Q-ичных с/с рассмотрим 2/10 с/с, в которых каждая десятичная цифракодируется четырмя двоичными разрядами. Кодирование может получитсянеоднозначным, т.к. 10 с/с имеет десять цифр, а четырьмя двоичными разрядами(тетрадами) можно получить шестнадцать комбинаций кодов. Поэтомукодирование должно подчиняться определенным требованиям, которыепредложил Г.
Рутисхаузер. Ниже приводятся эти требования.1) Единственность. Это требование однозначного соответствия тетрад и цифр.Различные десятичные цифры должны кодироваться различнымидвоичными тетрадами.2) Монотонность. Большим десятичным цифрам должны соответствоватьбольшие двоичные тетрады.3) Четность. Четным десятичным цифрам должны соответствовать четныедвоичные тетрады, нечетным десятичным цифрам - нечетные двоичныететрады.4) Весомозначность.
Должны существовать четыре веса 3, 2, 1, 0 такие, чтоесли десятичной цифре сопоставлена двоичная тетрада 3 2 1 0 , то имеетместо равенство = 3 3 + 2 2 + 1 1 + 0 0.5) Дополнительность. Если две десятичные цифры и в сумме даютзначение 9, то им должны сопоставляться взаимно инвертированныететрады. Например, соответствует тетрада 0111, то соответствуеттетрада 1000.При сложении двух десятичных цифр и возможны следующие ситуации: если + < 10, то в результате получается другая десятичная цифра; если + ≥ 10, то в результате получается другая десятичная цифра + − 10 и пренос 1 в старший разряд.Тетраду, сопоставленную десятичной цифре , обозначим как ().
Тогдапри сложении соответствующих и татрад возможны следующиеситуации: () + () = ( + ), если + < 10; () + () = ( + − 10) + 16, если + ≥ 10.Во втором случае значение 16 означает количественный эквивалент перноса.Рассмотрим 2/10 с/с, которая называется кодом прямого замещения (подругому её называют кодом 8421).
В этой с/с каждая десятичная цифракодируется четырехразрядным двоичным эквивалентом:0 → 0000,1 → 0001,2 → 0010,...9 → 1001.Различают правильные тетрады, которые соответствуют десятичнымцифрам от 0 по 9, и неправильные тетрады, которые соответствуют числам от 10по 15.Суммирование двоично/десятичных чисел подчиняется правилам двоичногосложения.Результат суммирования подвергается коррекции путем коррекциитетрад результата на значение 0110 в двух случаях: при получении неправильной тетрады; при возникновении переноса из тетрады.Пример.Сложить десятичные числа 184 и 498, используя код прямогозамещения.Представим исходные числа в коде прямого замещения:184 → 0001 1000 0100498 → 0100 1001 1000Складываем коды прямого замещения.0001 1000 0100+0100 1001 10000110 0001 1100+______0110 01100110 1000 0010Вторая и третья тетрады результата подверглись коррекции по следующимпричинам.В результате третья тетрада получена неправильной.
Присуммировании произошел перенос из второй тетрады в третью.Можно заметить, что код прямого замещения не обладает свойствомдополнительности.В рамках практических занятий рассматривается 2/10 с/с код с избытком 3 иприменение обратного и дополнительного кода для кода прямого замещения икода с избытком 3.1.6. Двоично/десятичный код с избытком 3В этом коде каждая десятичная цифра кодируется тетрадой,соответствующей двоичному эквиваленту, увеличенному на значение 00112, т.е.на 310 .012001101000101...91100Этот код обладает свойством дополнительности.При сложении двух кодов с избытком 3 необходимо проводитькоррекцию тетрад следующим образом: на +0011, если при сложении тетрад Т(х)+Т(у) значение результирующейтетрады больше цифры 910; на – 0011, если при сложении тетрад Т(х)+Т(у) значение результирующейтетрады меньше или равно цифре 910.Признаком того, какую коррекцию следует проводить длярезультирующей тетрады, может служить значение переноса из тетрады присложении.T(xi) + T(yi) + pi – 0011i , если pi = 0T(xi+yi) =T(xi) + T(yi) + pi – 10102 + 1610 + 00112 , если pi = 1Пример.
Сложить 310 + 510 в коде с избытком 3.310011051010000110+1000111000111011810Пример. Сложить 810 + 310 в коде с избытком 3.08100011 101103100011 01100011 1011+001101110011010001100001+0011010011101.8. Коды чисел со знакомВ обычной практике оперирования с числами для обозначения знака числаиспользуют символы «+» и «-».
Однако следствием введения дополнительныхсимволов является расширение алфавита с/с. Поэтому в вычислительной техникепринято следующее представление знаков чисел: 0 для положительных чисел; ( − 1) для отрицательных чисел, где S – основание с/с.Введем понятие разрядной сетки, которая определяет фиксированноеколичество разрядов, предназначенных для представления чисел. Для двоичнойс/с разрядная сетка кратна восьми разрядам, байту (1 байт = 8 бит, бит – одиндвоичный разряд).
Для представления символа знака числа выделяетсяспециальный разряд – знаковый разряд. Знаковый разряд фиксируется слева отстаршего значащего разряда числа. В записи чисел со знаком условимся отделятьзнаковый разряд от значащей части числа точкой.Наиболее простым способом представления чисел со знаком являетсяпрямой код, в котором знак числа записывается в крайнем левом разряде, а востальных разрядах записывается абсолютное значение числа. Например, прямойкод двоичного числа +101101 записывается как 0.101101, а прямой код двоичногочисла – 1101101 – как 1.1101101. В прямом коде существует два представлениянуля: 0.000… и S-1.000…, где S – основание с/с.
Любое число представляется ввиде прямого кода следующим образом:0. при ≥ 0,[]п =(1.1) − 1. при ≤ 0.В дальнейшем будем рассматривать основные положения отдельно дляцелых чисел и чисел, значение которых по модулю меньше единицы (будемназывать их дробными числами).Важным является вопрос о диапазоне представления чисел в прямом кодедля заданной разрядной сетке. Будем считать, что задана n-разрядная сетка,причем n-1 разряд отведен под знак для кодов целых чисел, а разряд с номером 0– для знака кодов дробных чисел. На примере целых двоичных чисел можноутверждать, что максимальное по абсолютной величине значение прямого кодапредставляется всеми единицами в значащих разрядах.
Это можно записать как −1 − 1. Тогда можно записать диапазон представления целых чисел в прямомкоде:1 − −1 ≤ ≤ −1 − 1(1.2)Рассмотрим диапазон представления дробных чисел в прямом коде в nразрядной сетке. Максимальное по абсолютной величине двоичное числопредставляется всеми единицами взначащих разрядах, а его значениезаписывается как 1 − −+1 . Диапазон представление дробных чисел в прямомкоде определяется отношениями: −+1 − 1 ≤ ≤ 1 − −+1(1.3)Логический вывод формул (1.2) и (1.3) рассматривался для двоичной с/с.1.9. Дополнительный и обратный коды чиселСуществуютидругиеспособыпредставлениячиселсознаком.Отрицательные числа можно представлять в виде дополнений до некоторогоположительного значения, т.е. путем сдвига по числовой оси исходногоотрицательного числа на некоторую положительную константу К.
Отрицательноечисло представляется в виде + > 0.В зависимости от значения К различают коды: дополнительный, обратный.Введем понятие дополнительного кода чисел с помощью следующихсоотношений:- для целых чисел:0. при ≥ 0,(1.4)[]д = + при < 0;- для дробных чисел:0.
при ≥ 0,(1.5)[]д = + при < 0.Определение 1.9. Код, определенный с помощью соотношений (1.4) и (1.5),называется дополнительным кодом числа.Введем понятие обратного кода чисел с помощью следующих соотношений:- для целых чисел:0. при ≥ 0,(1.6)[]о = − 0 + при < 0;- для дробных чисел:0. при ≥ 0,(1.7)[]о = − −+1 + при < 0.Определение 1.10. Код, определенный с помощью соотношений (1.6) и (1.7)называется обратным кодом числа.Из приведенных выше соотношений (1.4) – (1.7) видим, что прямой,дополнительный и обратный коды положительных чисел совпадают.Изсоотношений (1.4) – (1.7) вытекает очевидная связь между обратным идополнительным кодами отрицательного числа :- для кодов целого числа []д = []о + 0 = []о + 1,- для кодов числа || < 1[]д = []о + −+1 .Рассмотрим правила перехода к кодам отрицательных чисел.Правило 1.
Для получения обратного кода отрицательного числанеобходимо вкаждом разряде –ичной записи числа заменить цифру на цифру, дополняющуюисходную цифру до − 1 , в знаковом разряде записать цифру − 1.Пример. Представить отрицательное десятичное число х= –3597 в обратномкоде.Решение: для десятичной системы − 1 равно 10-1=9, тогда результат[] = 9.6402.Для двоичной с/с правило получения обратного кода проще. В знаковомразряде записывается значение 1, а значащие разряды исходного числаинвертируются, т.е. 0 заменяется на 1, 1 заменяется на 0.Пример. Представить отрицательное двоичное число х= –0.10111011 вобратном коде.Решение: [] =1.01000100Правило 2. Для получения дополнительного кода отрицательного числа .необходимо получить его обратный код и прибавить 1 к младшему разряду дляцелых чисел и −+1 для чисел || < 1.Пример.
Представить отрицательное пятеричное число х= –20431 вобратном коде.Решение: для пятеричной системы − 1 равно 5-1=4, тогда результат[] = 4.24013,[]д = 4.24014.Пример. Представить отрицательное двоичное число х= –0.10111011 вдополнительном коде.Решение: [] =1.01000100, результат []д =1.01000101.Рассмотрим диапазон чисел, представленных в дополнительном и обратномкодах,для разрядной сетки из разрядов.Диапазон чисел, представленных в дополнительном коде, определяется как:- для целых чисел − −1 ≤ ≤ −1 − 1;- для чисел || < 1−1 ≤ ≤ 1 − −+1 .Диапазон чисел, представленных в обратном коде, определяется как:- для целых чисел 1 − −1 ≤ ≤ −1 − 1;- для чисел || < 1 −+1 − 1 ≤ ≤ 1 − −+1 .В дополнительном коде нуль имеет одно представление 0.00…0. Вобратном коде нуль имеет два представления: положительный 0.00…0 иотрицательный − 1.