КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Кодирование чисел
Кодирование знака числа. Кодирование чисел позволяет заменить операцию арифметического вычитания операцией алгебраического сложения с помощью двоичного сумматора. Для кодирования знака числа используется специальный двоичный разряд, называемый знаковым. При этом знак плюс кодируется двоичной цифрой 0, а минус – цифрой 1 (для системы счисления с основанием r – цифрой r-1). Для машинного представления отрицательных чисел используют три основных вида кодов: прямой, обратный и дополнительный. Общая схема кода числа: код знака. код числа. Прямой код числа. При этом способе кодирования чисел кодируется только знак числа, а значащая часть остается без изменения. Пример: A=+0,1101 A= - 0,1101 [A]пр=0,1101 [A]пр=1,1101 Пример: A = + 1101 A = - 1101 [A]пр=0.1101 [A]пр=1.1101 Диапазон изменения машинных изображений для прямого кода лежит в пределах: -(1-2-n) [A]пр (1-2-n). Недостатком прямого кода является сложность выполнения операции сложения чисел с разными знаками. Для арифметических операций над числами в прямом коде используется сумматор прямого кода. В этом сумматоре отсутствует цепь поразрядного переноса между старшим значащим и знаковым разрядами, то есть на этом сумматоре невозможно выполнение операции алгебраического сложения. Дополнительный код числа. Число А' называется дополнением к числу А, если выполняется соотношение: А + А¢ = rn для целых чисел или А + А'=r0 для дробных чисел, где n – количество цифр в записи числа A. Пример: A10 =378 n=3 A10' =103 – А10=1000 - 378=622 621 - все разряды дополняются до младшей цифры системы счисления 1 - младший разряд дополняется до основания системы счисления n=4 А2 =1011, A2 '=24 - А=10000 - 1011 = 0101, или А2' = 0101 Замена операции вычитания операцией сложения. В ЭВМ достаточно сложно выполнить операцию вычитания (А-В). Для этого требуется:
1) сравнить числа и выявить наибольшее из них по абсолютной величине; 2) наибольшее число разместить на входах вычитающего устройства; 3) выполнить операцию вычитания; 4) присвоить значению разности знак наибольшего по абсолютной величи- не числа. Для сложения чисел в дополнительных кодах требуется сумматор и неважно, какие слагаемые подаются на его входы А или В. Пусть необходимо сложить А = 487 А = 487 В = -348 В = 652 А-В = 139 А-В = 1 139 А + (103 – В) = А-В+103 (103 игнорируется). А = 348 А = 348 В = -487 В = 513 А-В = -139 А-В = 861 Дополнительный код отрицательных чисел является математическим дополнением абсолютной величины числа до основания r системы счисления для дробных чисел и до rn для целых чисел. - для дробных чисел, - для целых чисел, где - абсолютное значение числа А, n – число цифр числа. Положительные числа в дополнительном коде не меняют своего изображения. Правило преобразования числа в дополнительный код можно записать: Рассмотрим несколько примеров сложения чисел в дополнительных кодах. А= 0,1001 [A]доп = 0,1001 А= - 0,1001 [A]доп = 1,0111 В= - 0,0100 [B]доп = 1,1100 В= 0,0100 [B]доп = 0,0100 10,0101 1,1011 Теорема. Сумма дополнительных кодов чисел есть дополнительный код результата. Доказательство теоремы приведено в [1]. Теорема справедлива для всех случаев, в которых не возникает переполнения разрядной сетки, что позволяет складывать машинные представления чисел по правилам двоичной арифметики, не разделяя знаковую и значащую части числа. Для выполнения арифметических операций над числами в дополнительном коде используется двоичный сумматор дополнительного кода, характерной особенностью которого является наличие поразрядного переноса из старшего значащего в знаковый разряд. Обратный код числа. Обратный код двоичного числа является инверсным изображением числа, в котором все разряды исходного числа принимают инверсное (обратное) значение. Правила преобразования чисел в обратный код аналитически можно определить следующим образом:
, . Выполнение арифметических операций над числами в обратном коде осуществляется на сумматоре обратного кода. Этот код имеет несущественный недостаток: требует наличия в сумматоре цепи циклического переноса из знакового разряда в младший значащий. Это может привести к увеличению времени выполнения арифметических операций. Ниже приведены несколько примеров выполнения арифметических операций над числами, записанными в обратном коде. А= 0,1001 [A]обр = 0,1001 А= - 0,1001 [A]обр = 1,0110 В= - 0,0100 [B]обр = 1,1011 В= 0,0100 [B]обр = 0,0100 10,0100 1,1010 1 0,0101 Теорема. Сумма обратных кодов чисел есть обратный код результата. Доказательство теоремы приведено в [1].
Дата добавления: 2014-12-26; Просмотров: 678; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |