КАТЕГОРИИ: Архитектура-(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) |
Перевод чисел из смещенной системы счисления с натуральным основанием в ССОК и обратно
3.2.3.1. Как отмечалось в подразделе 3.1.1.5, ССОК имеет дело с целыми положительными числами. Поэтому будем полагать, что , т.е. . (3.15) Предположим также, что заданы основания ССОК , являющиеся взаимно простыми числами, причем . Последнему условию удовлетворяет, очевидно, и каждое из () в соотношении (3.15). Тогда на основании выражений (3.4) и (3.5) можно написать, что , где , j= 1, 2, …, m. (3.16) Здесь , . (3.17) Формула (3.16) наиболее часто записывается еще в виде , j= 1, 2, …, m, (3.18) где символ = означает сравнимость левой и правой частей выражения (3.18) по модулю или, другими словами, одинаковость их остатков при делении на этот модуль. Таким образом, выполняя по формуле (3.16) арифметические действия в ССОК, можно легко найти , j= 1, 2, …, m, если известны , k=0,1, …, S-1, и , i= 0, 1, …, n. Число констант можно уменьшить, имея в виду следующее. Как следует из (3.17), , откуда . (3.19) При любом . Остальные , i=1, 2, …, n, легко находятся с помощью соотношения (3.19). Нетрудно заметить также, что последовательность значений , i=1, 2, …, n, начиная с некоторого i, как правило, повторяется, что существенно облегчает подсчет этих значений. Цифры ССОК в процессе преобразования кодируются или в исходной, или в какой-либо другой системе счисления. Преобразование особенно упрощается, если S=2, поскольку в этом случае (при любом ). Пусть, например, =1011011; Преобразование также выполним в двоичной системе счисления. По формулам (3.18) и (3.19) находим т.е. Следовательно, Можно, конечно, избавиться от умножения при преобразовании, используя константы k=0,1,…,S-1; i=0,1,…,n. Это позволяет повысить скорость преобразования, однако одновременно возрастают и потребности в машинной памяти. Преобразование же по методу непосредственного деления x на основания с целью получения остатков , как это вытекает из определения ССОК, практически не применяется в ЭВМ из-за его громоздкости.
3.2.3.2. Рассмотрим теперь задачу обратного преобразования при прочих равных условиях. Предположим также, что нам известны некоторые числа , называемые базисами ССОК, причем (3.20) т.е. базисы являются ортогональными. Ясно, что в этих условиях (3.21) а , j=1,2, …, m, (3.22) где , . (3.23) Сопоставляя (3.12) с (3.18), а (3.23) с (3.17), видим, что (3.21) представляет собой запись в ССОК выражения , (3.24) вид которого эквивалентен (3.15). Если и заданы в системе с основанием S, то реализация (3.24) в этой системе дает непосредственно. В противном случае необходим перевод результата подсчета по формуле (3.24) из системы, в которой представлены и , в требуемую систему счисления. В соответствии с (3.20) ортогональные базисы могут быть представлены в виде , j= 1, 2, …, m, где - наименьшее целое положительное число, называемое весом базиса и обеспечивающее =1 при i=j. Величина определяется следующим образом. Вначале находится величина , а затем , как результат решения сравнения , (3.25) поскольку, как это следует из (3.20), . Величины для некоторых возможных значений и приведены в табл.3.14.
Пусть, например, =(2,1,5,4), =3, =5, =7, =17. Найдем . Имеем =1, =2, =3, =3. Тогда по табл. 3.14 получим =1, =3, =5, =6. Следовательно, =595, =1071, =1275, =630. Подставляя и полученные значения , i=1,2,3,4, в (3.24), найдем (1785), т.е. =446. Другие алгоритмы преобразования описаны в работе [4.1 ].
Литература 3.1. Поспелов Д.А. Арифметические основы вычислительных машин дискретного действия.- М.: Высшая школа, 1970.- 308 с. 3.2. Китов А.И., Криницкий Н.А. Электронные цифровые машины и программирование.- М.: Физматгиз, 1961.- 572 с.
Вопросы к части 3 3.1. Понятие системы счисления (СС). Требования, предъявляемые к ней. 3.2. Непозиционные СС. 3.3. Позиционные СС: вес разряда, основание СС, канонические СС (смещенные, симметричные, кососимметричные), избыточные СС.
3.4. Двоичная, восмеричная, шестнадцатириччная СС. 3.5. Троичная симметричная, минус двоичная СС. 3.6. Двоично-десятичные СС. Требования Рутисхаузера. 3.7. Коды Эмери, код прямого замещения, код с избытком 3, < код 2 из 5>. 3.8. СС в остаточных классах (ССОК). Арифметические операции в ССОК. 3.9. Сравнение СС с точки зрения их применения в ЭВМ. 3.10. Перевод чисел из одной СС в другую (метод непосредственной замены, табличный метод). 3.11. Перевод целых чисел (метод деления). 3.12. Перевод дробных чисел (метод умножения). 3.13. Перевод чисел из СС с основанием в СС с основанием , когда =, где r - целое положительное число. 3.14. Перевод чисел в СС с основанием -2. 3.15. Перевод . 3.16. Перевод . 3.17. Перевод , . 3.18. Перевод .
Дата добавления: 2014-01-20; Просмотров: 544; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |