Text
                    И. Я. АКУШСКИЙ, д. И. юдицкий
МАШИННАЯ АРИФМЕТИКА
В ОСТАТОЧНЫХ КЛАССАХ
ИЗДАТЕЛЬСТВО «СОВЕТСКОЕ РАДИО» МОСКВА - 1968

УДК 681.142.01 Акушский И. Я., Юдицкий Д. И. Машинная арифметика в остаточных клас- сах. М., «Советское радио», 1968, стр. 440 т. 7.500 экз., ц. 1 р. 85 к. Книга является оригинальной монографией, содержащей ре- зультаты исследований авторов по разработке арифметических систем в остаточных классах и их реализации в вычислительной технике. Авторами излагаются основы новой системы счисления и строится машинная арифметика в этой системе. Система в оста- точных классах восходящая своими идейными корнями к класси- ческим разделам теории чисел, позволяет по-новому подойти к по- строению вычислительных машин высокой эффективности. В книге излагаются основы специальных самокорректирующихся непози- ционных кодовых систем. На основе теории целых комплексных чисел строится непози- ционная система счисления в комплексной области, позволяющая перенести выполнение операций над комплексными числами в поле целых действительных чисел без разделения на действительные и мнимые части. Книга рассчитана на инженеров, научных работников и сту- дентов старших курсов, специализирующихся в области вычис- лительной техники. 44 табл., 51 илл., 79 назв. библ. I 2 I го:удагстсейяая ! C?S? । иэ с. п. : "3 г —J Ilgis' 3—3—14 12—68
ПРЕДИСЛОВИЕ Результаты проводившихся в течение последних лет различными группами исследователей поисков путей повы- шения производительности электронных вычислительных машин, методов организации эффективной системы обнару- жения и исправления ошибок и построения высоконадежных вычислительных комплексов утвердили авторов в мнении, что в пределах позиционных систем счисления нельзя ожи- дать сколь-нибудь удовлетворительного продвижения в этих направлениях без существенного увеличения рабочих частот элементов и усложнения аппаратурной части цифровой вычислительной машины. Толчком к исследованиям в области непозиционных систем счисления послужили опубликованные в 1955— 1957 гг. работы чешских ученых М. Валаха и А. Свободы, посвященные представлению чисел в виде совокупности неотрицательных вычетов по группе взаимно простых осно- ваний, и определившейся в связи с этим представлением возможности выполнения рациональных операций без учета разрядных связей между цифрами числа. Проведенные авторами настоящей книги исследования в этой новой системе счисления, названной системой оста- точных классов, привели к созданию весьма своеобразной машинной арифметики. Трудности выполнения в системе остаточных классов операций, требующих знания всего числа в целом, а не отдельных его поразрядных цифр (определение знака числа, сравнение чисел по величине, деление в общем случае и т. п.), оказались не непреодолимыми. Выявились возможности устранения этих трудностей различными по своему содер- жанию и характеру реализации методами. В процессе исследования специфики и возможностей системы остаточных классов удалось построить самокор- ректирующиеся коды, полностью арифметичные, т. е. пригодные для обнаружения и исправления ошибок, 3
возникающих не только при передаче информации, но и при ее арифметической обработке. Для этих кодов оказалось возможным (что до сих пор не наблюдалось ни в каких известных специальных позиционных кодовых системах) построить систему исправления ошибок при введении мини- мальной избыточности, использующую динамику вычисли- тельного процесса. Выяснилось также, что идея остаточных классов позво- ляет по-новому подойти к организации аналоговых вычис- лительных машин. Наметились пути построения устройств непрерывного типа, позволяющих существенно повысить точность решения на этих устройствах задач при относитель- но невысокой прецизионности самого аналогового оборудо- вания. Система остаточных классов позволяет существенно улучшить параметры вычислительных машин по сравнению с машинами, построенными на той же физико-технологиче- ской базе, но в позиционной системе счисления, а также получить новые более прогрессивные конструктивные и структурные решения. Следует отметить, что система остаточных классов не единственно возможная непозиционная система счисления. Можно построить ряд новых систем, в различной степени сочетающих особенности позиционных и непозиционных систем счисления. Однако результаты исследований по общей теории непозиционных систем не включены в настоящую монографию, учитывая ее тематическую направленность. Идеи непозиционных систем счисления не привлекают пока столь широкий контингент научных и инженерных работников, как эти идеи того заслуживают. Это достойное сожаления обстоятельство объясняется главным образом тем, что результаты большинства исследований в области непозиционных систем еще не стали достоянием широкого круга специалистов ввиду отсутствия надлежащим образом систематизированных публикаций. Литература по этому кругу вопросов состоит лишь из небольшой серии статей, к тому же опубликованных в малораспространенных изда- ниях. Именно намерение восполнить этот пробел и руководило авторами, предпринявшими в данной монографии попытку систематически изложить основные теоретические и практи- ческие аспекты системы остаточных классов. 4
С целью упростить читателю освоение материала книги введена глава 2, в которой изложены необходимые сведения из теории чисел, точнее, теории сравнений. С этой же целью почти каждый параграф книги сопровождается иллюстри- рующими излагаемые положения примерами. Помимо главы 2 и частично главы 1 монография, в основ- ном содержит изложение оригинальных исследований, про- веденных авторами за последнее десятилетие. К сожалению, ряд важных и полезных разделов не смог- ли быть включены в книгу ввиду ограниченности ее объема. В этом плане читателя после знакомства с материалом, изложенным в данной книге, придется отослать к некото- рым специальным статьям. Книга предназначена для научных работников и инжене- ров, занимающихся разработкой электронных вычислитель- ных машин, и студентов старших курсов высших учебных заведений по соответствующим специальностям. Авторы выражают надежду, что появление настоящей книги будет способствовать расширению исследований по теории и практической реализации системы счисления в остаточных классах и внедрению этой системы в вычисли- тельную технику. АВТОРЫ.
ГЛАВА ВВЕДЕНИЕ В СИСТЕМУ СЧИСЛЕНИЯ В ОСТАТОЧНЫХ КЛАССАХ § 1.1. ВОЗНИКНОВЕНИЕ И РАЗВИТИЕ НЕПОЗИЦИОННЫХ СИСТЕМ СЧИСЛЕНИЯ В настоящее время невозможно представить себе сколь- ко-нибудь сложную автоматическую систему без того, чтобы ее центральную часть не составляли вычислительные маши- ны, выполняющие функции обработки информации и управ- ления. По существу, в каждой автоматической системе специфическими являются датчики информации и испол- нительные органы, а в остальном система зачастую состоит из типовых вычислительных машин, обеспечивающих взаимосвязь и координированное взаимодействие всех устройств системы. Поэтому очевидна ценность исследований, посвященных новым принципам построения электронных вычислительных машин, рациональным методам организации их работы, поискам эффективных путей их применения. Новые пути организации структуры и логики электрон- ных вычислительных машин включают в себя как направ- ления усложнения структуры и логики машин для увели- чения их эффективности, так и поиск новых систем счисле- ния и новых методов организации совместной работы всех устройств машины и всей машины в целом. При разработке структуры математической машины одним из основных вопросов является выбор целесообраз- 7
ного представления числовой информации, т. е. соответ- ствующего кода. Системы счисления являются различными способами кодирования числовой информации. Главные требования к любой предназначенной для практического применения кодовой системе (если не касаться требований, вытекающих из теоретико-информа- ционных соображений) суть следующие: а) возможность представления в данной системе любой ве- личины в рассматриваемом, заранее назначенном диапазоне; б) единственность представления — любая кодовая ком- бинация соответствует одному и только одному числу в заданном диапазоне; в) простота оперирования с числами в данной системе счисления. Объем диапазона, т. е. количество различных чисел, которые могут быть представлены в данной кодовой систе- ме, очевидно, определяется количеством различных воз- можных кодовых комбинаций. Поиски новых путей повышения эффективности выпол- нения арифметических операций привели исследователей к заключению, что в рамках обычной позиционной системы значительного ускорения выполнения операций добиться почти невозможно. Те или иные отдельные приемы и усо- вершенствования алгоритмов выполнения операции, спо- собствуя более рациональной организации работы ариф- метических устройств, оставляют все же производитель- ность этих устройств в рамках одного и того же порядка. Выход за эти пределы требует привлечения новых идей, новой логики и новой арифметики. Следует отметить, что позиционные системы счисления, в которых представляется и обрабатывается информация в современных вычислительных машинах, обладают суще- ственным недостатком — наличием межразрядных связей, которые накладывают свой отпечаток на способы реали- зации арифметических операций, усложняют аппаратуру и ограничивают быстродействие. Поэтому естественно изы- скание возможностей построения такой арифметики, в кото- рой бы поразрядные связи отсутствовали. Оказалось, что такая арифметика может быть построена на базе непозиционной системы счисления, в частности системы счисления в остаточных классах. Восходящая своими идейными корнями к классическим трудам Эйлера, Гаусса и Чебышева по теории сравнений 8
система остаточных классов призвана внести новую струю в разработку принципов эффективного построения высоко- производительных вычислительных машин. В системе остаточных классов числа представляются своими остатками от деления на выбранную систему осно- ваний, и все рациональные операции могут выполняться параллельно над цифрами каждого разряда в отдельности. Однако столь удобной в одном отношении системе остаточ- ных классов присущ ряд недостатков в других отношениях: ограниченность действия этой системы полем целых поло- жительных чисел, трудность определения соотношений чисел по величине, определения выхода результата опера- ции из диапазона и т. д. Для того чтобы в системе остаточных классов можно было строить вычислительные машины, необходимо найти принципиальные пути преодоления этих трудностей и найти эффективные способы построения машинной арифметики. § 1.2. ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ. ОБРАЗОВАНИЕ ЦИФР ПРЕДСТАВЛЕНИЯ ЧИСЛА Определение. Если задан ряд целых положительных чисел гц, л2, . . ., лл, в дальнейшем называемых осно- ваниями системы счисления, то под обобщенной позицион- ной системой будем понимать такую систему, в которой целое число N представляется в виде AZ == С1>п—1 Stn— 1 П^д-2 • • • 4“ @п—2^п-3 • • • . ... 4- 4" 4“ #0» (1.1) где цифры aj-i суть числа 0, 1, ..., П/ — 1 (/ = 1, 2, ..., /г), последовательное получение которых может быть осуще- ствлено следующим процессом: N делится на 74, при этом J = Д7\ и N — Ni7ii = aQ-, l\fi делится на л2, при этом Г-^-"|=Л^2 и Ni — N2^2 = ^ Г N 7—1 т Nj-i делится на л;-, при этом J и Wj-i—NjKj=aj-i, Nn-i делится на лп, при этом Г^=1"] =Nn и Nn-i—-Vnnn=an-i. 9
Здесь и в дальнейшем [У] обозначает целую часть числа У. Объем диапазона представимых в данной системе чисел еР равен • • • Д/1 • Для описанного процесса характерно именно последо- вательное получение цифр каждого разряда в строго опре- деленном порядке (начиная с младшего разряда), когда результат предшествующего этапа (полученное на этом этапе частное) участвует в качестве делимого на следующем этапе. Это отражает присущую позиционным системам счисления зависимость между разрядами числа, что при выполнении операций над числами в позиционной системе влечет за собой необходимость учета переносов из младших разрядов в соседние старшие. Эта зависимость разрядов отягощает в значительной степени аппаратурное выполне- ние операций и ограничивает возможности в достижении высокого быстродействия и простоты реализации. Если ввести обозначение Pt :==z Д1ЭТ2 . • • то выражение (1.1) может быть записано в виде N = ап-^Рп-^ ап-2рп-2 + • • • + a\Pi + #о- (1*2) В частном случае = л2 = ... = пп = р получим N = а^р71-1 + ап_2рп-* + ... +alp^aQ. (1.3) Здесь все последовательные деления ведутся на одно и то же число р — основание системы, и мы таким образом получили обычную позиционную систему, у которой объем еГ> диапазона представимых в этой системе чисел равен & = рп. Выбирая основание р равным 2, 3, . . ., можно пере- брать все возможные позиционные системы счисления. В цифровых электронных вычислительных машинах преобладающее значение получили двоичная и десятичная системы счисления. Последняя большей частью применяется в двоично-кодированном виде. Известны машины, построен- ные в троичной системе счисления, системе счисления с основанием р = — 2 и др. Целесообразность введения отрицательных оснований обусловливается тем, что знак 10
органически включается в представление числа, в связи с чем отпадает необходимость в специальном отображении знака числа. Неудобство в реализации этой системы заключается в процессе суммирования — на один разряд могут прийти два переноса, что усложняет схему сумматора. С точки зрения, диапазона представимых чисел в случае отрицательного основания имеет место некоторая несим- метричность. Так, при четном п (или при четном количестве разрядов числа) отрицательных чисел может быть пред- ставлено больше, чем положительных, а при нечетном наоборот. Например, при /г = 4 вся совокупность чисел такова: 0001 = +1 0110= +2 1011 = -9 0010= — 2 0111 = +з 1100 = — 4 0011 = -1 1000= -8 1101 = -3 0100= +4 1001 = —7 1110 = -6 0101 = +5 1010= -10 1111 = -5. Здесь положительные числа 1, 2, 3, 4, 5, а отрицатель- ные 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, т. е. диапазон отрицательных чисел вдвое больше диапазона положительных чисел. Для случая п = 3 совокупность представимых чисел запишется в виде 001 = + 1 101 = +5 010 = -2 НО- +2 011 = — 1 111 = 4-3 100 = +4 В этом случае диапазон положительных чисел более чем в два раза превышает диапазон отрицательных. Известны отраженные в большом количестве работ раз- личные логические и схемные методы ускорения и рацио- нальной организации выполнения операций. Во всех этих работах в основу была положена позиционная система, и следует, по-видимому, считать, что предложенные в этих работах пути более эффективного выполнения операций исчерпывают во многом возможности позиционной системы и дальнейшее сколь-нибудь существенное ускорение выпол-
нения операций, оставаясь в рамках позиционной системы, затруднено. Поиски новых путей построения арифметических устройств, в которых операции над числами выполнялись бы возможно проще, причем так, чтобы зависимость между разрядами была исключена и отпали бы межразрядные переносы, привели к применению для этих целей аппарата теории вычетов. Вычеты известны очень давно и изла- гаются в элементарном курсе теории чисел, однако до недавнего времени возможность их практического исполь- зования в вычислительной технике не рассматривалась. Теория чисел применяет вычеты для решения ряда спе- цифических для этой области науки задач (сравнения, диофантовый анализ и т. п.). Между тем применение выче- тов как непозиционной системы счисления в вычислитель- ной технике ставит совсем иные проблемы, от удачного решения которых зависит не только эффективность, но и вообще целесообразность применения этой системы. § 1.3. СИСТЕМА СЧИСЛЕНИЯ В ОСТАТОЧНЫХ КЛАССАХ Определение. Если задан ряд положительных целых чисел pt, Р2, . . рп, называемых в дальнейшем осно- ваниями системы, то под системой счисления в остаточ- ных классах будем понимать такую систему, в которой целое положительное число представляется в виде набора остатков (вычетов) по выбранным основаниям М=(а1? а2, . .., ап), причем образование цифр осуществляется следующим процессом at = N — [-^-J pt для i = 1, 2 ... и, (1.4) т. е. цифра г-го разряда числа N есть наименьший поло- жительный остаток от деления N на pt. Здесь в отличие от обобщенной позиционной системы оборазование цифры каждого разряда проводится незави- симо друг от друга. Цифра г-го разряда представляет собой наименьший положительный остаток от деления само- го числа АГ, а не предыдущего частного, как это имело место в § 1.2, на f-e основание Очевидно, что af < pf. 12
В теории чисел доказано, что если числа pt взаимно простые между собой, то описанное цифрами cq, а2, . . ., ап представление числа N является единственным. Объем диапазона представимых чисел в этом случае, как легко видеть, равен & = Р1Р2...рп. Здесь, как и в обобщенной позиционной системе, диапа- зон представимых чисел растет как произведение оснований, а разрядность чисел N растет как сумма разрядностей тех же оснований. Рассмотрим правила выполнения операций сложения и умножения в системе остаточных классов в случае, если оба числа и результат операции находятся в диапазоне [О, аЛ). Пусть операнды А и В представлены соответственно остатками щ и по основаниям pt при i = 1, 2, . . ., п. Результаты операций сложения и умножения Л+В и АВ представлены соответственно остатками и 6г- по тем же основаниям рг-, т. ‘е. Л = (ар а2, ..ап), В ~ (Р1? 02» • • • , Рп), Л + В = (у1? у2, ..уп), АВ = (бь б2, ...,6П), и при этом имеют место соотношения: Л<#>, В<#>, Л + В<еР, АВ<&. Утверждается, что уг сравнимо с & по модулю pi, a сравнимо с по тому же модулю, т. е. у, = at + pz (mod pf), Si = a$i (mod pi), при этом в качестве цифры результата берется соответ- ственно у.=аг+р._р±±др., (1.5) 6г = аг₽г-Г-^-1рь (1.6) L Pi J Действительно, на основании (1.4) можно написать для 1=1,2, ..., п. 13
Из представления А и В следует, что A = kipi + ai, (1.7) В = lipi 4~ Pi, i = 1, 2, ..п, где kt и It — целые неотрицательные числа. Тогда А + В = (fef + It) pt + aj + Pj, i = 1, 2, ..., n откуда уг = аг + рг-['?^±^]рг, что и доказывает (1.5). В случае умножения Учитывая (1.7), получим АВ = kilipl + (af/f + рг£г) pt + агрг, [^]=£г/грг+аг/г + Р^ + [^] , i = 1, 2, ..., п. Следовательно, 6г = агрг-[^.]рг, что и доказывает (1.6). Рассмотрим примеры, иллюстрирующие приведенные выше правила выполнения операций сложения и умножения. Пусть основаниями системы являются Р1 = 3, р2 = 3, Рз = 7. Диапазон системы определится как ^ = р1р2р3=Ю5. Пример. Сложить число А = 17 с числом В = 63. По выбранным основаниям числа А и В в системе остаточных классов будут представлены как А = 17 = (2, 2, 3), В = 63 = (0, 3, 0). В соответствии с (1.5) получим А4-В = (2, 0, 3). 14
Легко проверяется, что число (2, 0, 3) есть 80 и равно сумме опе- Пример. Умножить число 4 = 17 на число В = 6. В системе остаточных классов числа 4 и В будут представлены как 4 = 17 = (2, 2, 3), В = 6 = (0, 1, 6), В соответствии с (1.6) получим 4В = (0, 2, 4). Легко проверяется, что число (0, 2, 4) есть 102 и равно произведению операндов. Охарактеризуем в общих чертах достоинства и недостатки введенной системы счисления в оста- точных классах. К достоинствам следует отнести: — независимость образования разрядов числа, в силу чего каждый разряд несет информацию обо всем исходном числе, а не о промежуточном числе, получающемся в резуль- тате образования более младших разрядов (как это имеет место в позиционной системе). Отсюда вытекает независи- мость разрядов числа друг от друга и возможность их неза- висимой параллельной обработки *; — малоразрядность остатков, представляющих число. Ввиду малого количества возможных кодовых комбинаций открывается возможность построения табличной арифмети- ки, благодаря чему большинство операций, выполняемых арифметическим устройством, превращаются в однотактные, выполняемые простой выборкой из таблицы. К основным недостаткам системы счисления в остаточных классах следует отнести: — невозможность визуального сопоставления чисел, так как внешняя запись числа не дает представления о его величине; — отсутствие простых признаков выхода результатов операций за пределы диапазона [0, <9^); — ограниченность действия системы сферой целых положительных чисел; * Эта особенность в дальнейшем позволит привлечь принци- пиально новые методы арифметического контроля. При введении дополнительного контрольного основания остаток, взятый по этому основанию, несет избыточную информацию об исходном числе, что позволяет обнаруживать и исправлять ошибки в цифрах но рабочим основаниям системы. 15
— получение во всех случаях точного результата опе- рации, что исключает возможность непосредственного при- ближенного выполнения операций, округления результата и ,т. п. Устранение недостатков системы или по крайней мере ослабление действия этих недостатков и наиболее полное использование ее достоинств при реализации в вычисли- тельных машинах составляют основное содержание машин- ной арифметики в системе остаточных классов, создание которой выдвигает свои специфические проблемы. § 1.4. СПОСОБЫ ВВЕДЕНИЯ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛ Приведенные выше представления чисел и операций над ними относились к положительным числам. Рассмотрим правила выполнения операции вычитания в системе остаточных классов в случае, если оба числа и результат операции находятся в диапазоне [0, еН. Пусть операнды А и В представлены соответственно остатками и по основаниям pt при i = 1, 2, . п. Результат операции вычитания А — В представлен соот- ветственно остатками по тем же основаниям рь т. е. Л = (а1? а2, ..., an) В = (₽п ₽2, РД Л-В = (уц у2, ..уД и при этом имеют место соотношения: Л<0\ В<аР, 0<Л —В<<9\ Аналогично (1.5) получим для вычитания Тг = аг_рг_[^2^-]рг. (1.8) У1 = а, — (modpO- 4=1, 2, ..., п. Операция вычитания в тех случаях, когда ее результат положителен, выполняется вычитанием соответствующих цифр разрядов, причем всегда в результате приводится наименьший положительный остаток, как это следует из определения системы остаточных классов. Иначе говоря, если разность цифр оказалась отрица- тельной, то берется ее дополнение к основанию. 16
11осле выполнения операции знак результата никак в нем не отражен. Собственно говоря, знаки компонент при выполнении операции не обрабатываются и, следова- тельно, не образуется и знак результата. Возникает необходимость ввести специальным образом знак в представление числа и определить правила выпол- нения операции, обеспечивающие получение не только величины результата, но и его знака. Рассмотрим возможные варианты введения отрицатель- ных чисел. Пусть pi, р2, . . ., рп —основания системы счисления. Диапазон представимых в этой системе чисел опреде- лится как = Pl, р2. • • • , Рп- Пусть одно из оснований системы равно 2. Для опреде- ленности полагаем pi = 2. Обозначим через Р величину или Р = Р2Рз •Рп- В системе остаточных классов Р = (1, 0, 0, ..., 0). Будем оперировать числами, лежащими в диапазоне, Примем в качестве нуля число Р и будем представ- лять положительные числа N = INI в виде N' = Р + |2V I, а отрицательные числа N = — | N | в виде N' = Р — (N |. Тогда при алгебраическом суммировании получим следую- щий вид представления положительных и отрицательных чисел: N' = Р + N. Это означает, что в принятом представлении, которое назовем искусственной формой, мы всегда будем иметь дело с положительными числами. Однако числа в интервале К), Р) в искусственной форме будут отображать отрицатель- ные числа, а в интервале [Р, £Р) — положительные. 1 3G5 17
Если результат операции не выходит за пределы нового диапазона [О, Р), можно выполнять операции сложения и вычитания следующим образом. Пусть надо найти сумму двух чисел и N2. Возьмем их искусственные формы N'^P + Ni, N’2 = P + N2 и сложим N’1 + N'2 = P + Nl + P + N2 = 2P + (N1 + N2). (1.9) Искусственная форма суммы есть (Л)1 + М2)'=(Л(1 + ЛГ2)+Р, (1.Ю) откуда (Ni + ^y^N’. + N'.-P, или, то же самое, так как Р = (1, 0, 0, ... 0), (N1+N2)' = K + N'2 + P. (1.11) Рассмотрим примеры, иллюстрирующие сформулированные пра- вила. В этих примерах принято: pi — 2, р2 = 3, рз = 5, Р4 = 7, I-5 - 3 • 5 7 —105. Пример. N1 = 17, Af2 = 41. Образуем искусственные формы задан- ных чисел ЛГ( = (1, 0, 0, 0) + (1, 2, 2, 3) = (0, 2, 2, 3), Л^ = (1, 0, 0, 0) + (1, 2, 1, 6) = (0, 2, 1, 6), на основании (1.11) получаем (^ + Л2)' = (0, 2, 2, 3) + (0, 2, 1, 6) + (1, 0, 0, 0) = (1, 1, 3, 2). Число (1, 1, 3, 2) является искусственной формой суммы заданных чисел, что проверяется переходом к десятичной системе: (17-Ь41)' = (58)' = 105 4-58 = (1, 0, 0, 0) + (0, 1, 3, 2)=(1, 1, 3, 2). Пример. Nt = 17, N2=— 41. Образуем искусственные формы заданных чисел ЛГ{ = (1, 0, 0, 0) + (1, 2, 2, 3) = (0, 2, 2, 3), Л^=(1, 0, 0, 0) —(1, 2, 1, 6) = (0, 1, 4, 1). Сложим эти числа и на основании (1.11) получим = 2, 2, 3)+(0, 1, 4, 1) + (1, 0, 0, 0) = (1, 0, 1. 4). Произведем проверку переходом к десятичной системе: (17 - 41)' = (-24)' = 105 —24 = (1, 0, 0, 0)—(0, 0, 4, 3) = (1, 0, 1, 4). Пример. Ni = —17, N2 = — 41. Образуем искусственные формы заданных чисел #{ = (1, 0, 0, 0)-(1, 2, 2, 3) = (0, 1, 3, 4), Л^=(1, 0, 0, 0)—(1, 2, 1, 6) = (0, 1, 4, 1). 18
Сложим эти числа с учетом (1.11) (^ + /V2)' = (0, 1, 3, 4) + (0, 1, 4, 1) + (1, 0, 0, 0) = (1, 2, 2, 5). Переходом к десятичной системе производим проверку ( —17—41)' = ( —58)' = 105— 58 = (1, 0, 0, 0) —(0, 1, 3, 2) = (1, 2,2, 5). Превращение положительного числа в отрицательное и обратно, т. е. образование его дополнительного кода, производится вычитанием данного числа из числа (1, Р2, р3, • •, Рп)- Так, в условиях рассмотренных примеров + 41=(1,2, 1,6); -41 =(1, 3, 5, 7)-(1, 2, 1, 6) = = (0, 1, 4, 1) = 64. Следует отметить, что если вычитаемое было уже пред- ставлено в искусственной форме, то для получения допол- нительного кода необходимо вычитать его не из числа (1, р2......Рп), а из (2, р2, . . рп). Рассмотрим примеры, иллюстрирующие указанный способ про- ведения вычитания. Пример. ^==17, 2V 2 = 41. Представим заданные числа в искус- ственной форме 2V; = (0, 2, 2, 3), N2 = (0, 2, 1, 6). Образуем дополнительный код Л^2 (_^)'е=(2, 3, 5, 7) —(0, 2, 1, 6) = (0, 1, 4, 1). Сложим N'± и — учитывая (1.11): = (0, 2, 2, 3) + (0, 1, 4, 1) + (1, 0, 0, 0) = (1, 0, 1, 4). По одному из предыдущих примеров известно, что (1, 0, 1, 4) = = (17 — 41)'. Пример. 7V1 = 41, JV2—17. Образуем дополнительный код N2: ( — W2)' = (2, 3, 5, 7) —(0, 2, 2, 3) = (0, 1, 3, 4) и далее выполняем сложение (^-2V2)' = ^ + (-^2)' + P- = (0, 2, 1, 6) + (0> 1, 3, 4) + (1, 0, 0, 0) = (1, 0, 4, 3). Переходом к десятичной системе проверяем, что (41 —17)' = (24)' = 1054-24= (1, 0, 0, 0) + (0, 0, 4, 3) = (1, 0, 4, 3). Из изложенных способов выполнения операций сложе- ния и вычитания следует, что, применяя искусственную форму представления кодов (со сдвигом нуля на Р), можно проводить операции сложения и вычитания над искусствен- ными формами, получая всегда правильный (как по вели- 2* 19
чине, так и по знаку) результат, хотя знак скрыт в форме представления числа и мы не можем визуально определить, является оно положительным или отрицательным. Перейдем к операции умножения. Пусть, как и выше, N'± = P + ^ N'2 = P + N2, тогда = P(P + Ni + N2) + (1.12) откуда (W = ад + P - P (P + N, + N2). Учитывая, что P = (l, 0, 0, ... 0) и что исходные числа заданы в искусственной форме, получим (аду=n[n2+Р (1 + Р+Л/;+и'2у Поскольку Р нечетно, получим (N^y = ад + ад ад), (1.13) Очевидно, что четность или нечетность Ni + N2 опре- делит, в каком виде будет получен результат. Выражение (1.13) может быть записано как N'iN'v если и N2 одинаковой четности, (Л^Л^) == ' Л7' AT' I Л 7' АТ' ° ( 1 • 14) 4 ' Л/^+Р, если и N2 разной четности. х 7 Та или иная альтернатива определяет необходимость коррекции результата. В случае, если N[ и N2 разной четности, мы получаем результат умножения сразу в искус- ственной форме, если же N[ и N2 одинаковой четности, к результату необходимо прибавить Р = (1, 0, . . ., 0), чтобы преобразовать его в искусственную форму. Посколь- ку одно из оснований системы было выбрано pi = 2, то по значению остатка числа по этому основанию мы судим о четности или нечетности самого числа. Отсюда анализ отдельного числа или суммы на чет- ность или нечетность производится по одноразрядному остатку по основанию pt = 2. Естественно, что нечетные числа будут иметь в остатке по этому основанию единицу, а четные числа — ноль. Соответственно и коррекция результата, если она потре- буется, т. е. прибавление Р = (1, 0, 0, . . ., 0), у которого единичный остаток по основанию pi = 2, а остальные — нули, сводится к инвертированию значения остатка резуль- тата по основанию рР 20
11рпведем примеры, иллюстрирующие выполнение операции умножения. Система оснований та же, что и в предыдущих примерах. Пример. Ni = 7, ?V2= 13. Представим заданные числа в искус- ственной форме = (1, 0, 0, 0) + (1, 1, 2, 0) == (0, 1, 2, 0), ^=(1, о, о, 0)+(1, 1, з, б) = (о, 1, з, 6). Вычисляем произведение N[N'2: Л^ = (0, 1, 2, 0)-(0, 1, 3, 6) = (0, 1, 1, 0). Так как и N2 одинаковой четности, то (^2)'-ВД = (0, 1, 1,0). Результат проверяем переходом к десятичной системе (7.13)' = (91)'= 1054-91 =(1, 0, 0, 0) + (1, 1, 1, 0) = (0, 1, 1, 0). Пример. Ni~7, У2=—13. Напишем искусственную форму для заданных чисел Л7£ = (1, 0, 0, 0) + (1, 1, 2, 0) = (0, 1, 2, 0), ^=(1, 0, 0, 0)-(1, 1, 3, 6) = (0, 2, 2, 1). Вычислим произведение 7V;^ = (0, 1, 2, 0).(0, 2, 2, 1) = (0, 2, 4, 0). В соответствии с правилом (1.14) (NiN2Y ~ 2, 4, 0). Проверка дает следующий результат: (7-(—13))'— (—91)'— 105 —91 = (1, 0, 0, 0) —(1, 1, 1, 0) = (0, 2, 4, 0). Пример. = — 7, Лг2 = —13. Представим заданные числа в искус- ственной форме JV£ = (1, 0, 0, 0) — (1, 1, 2, 0) = (0, 2, 3, 0), N'2=(l, о, о, 0)-(1, 1, 3, 6) = (0, 2, 2, 1), определяем произведение N{N2: /V{^=(0, 2, 3, 0).(0, 2, 2, 1) = (0, 1, 1, 0). Из ранее рассмотренного примера видно, что (0, 1, 1, 0) = (7-13) или, что то же самое, (0, 1, 1, 0) = ((—7)-(—13))'. В приведенных примерах перемножались числа одинаковой чет- ности. Рассмотрим примеры умножения чисел разной четности. Пример. — /V2=17. Представим заданные числа в искус- ственной форме 2V£ = (1, 0, 0, 0) + (0, 0, 1, 6) = (1, 0, 1, 6), N2 = (1, 0, 0, 0)4-(1, 2, 2, 3) = (0, 2, 2, 3). Вычисляем произведение N'tN2: 7V^=(1, 0, 1, 6) (0, 2, 2, 3) = (0, 0, 2, 4). Так как N[ и N2 разной четности, то согласно (1.14) (?4W2)' = (1, 0, 0, 0)4-(0, 0, 2, 4) = (1, 0, 2, 4). 21
Переходом к десятичной системе, проверяем (6.17)'==(102)'= 105+102 = (1, 0, 0, 0) + (0, 0, 2, 4) = (1, 0, 2, 4). Пример. Л^ = 6, N2= — 17, #; = (1, 0, 0, 0) + (0, 0, 1, 6) = (1, 0, 1, 6) Л^ = (1, 0, 0, 0) —(1, 2, 2, 3) = (0, 1, 3, 4) Л^ = (1, 0, 1, 6).(О, 1, 3, 4) = (0, 0, 3, 3). Согласно (1.14) имеем (Л/^2)' = (1, 0, 0, 0) + (0, О, 3, 3) = (1, 0, 3, 3). Проверка переходом к десятичной системе дает (6-(—17))' = (—102)' = 105—102 = (1, 0, 0, 0) — (0,0,2, 4) = (1, 0, 3, 3). Изложенный способ представления отрицательных чисел и операции с ними предполагают, что pi = 2. Это удобно с точки зрения простоты выполнения опера- ции, но является некоторым ограничением. Может оказать- ся, что в вопросах, связанных с приближенным выполне- нием операций в машине в составе оснований нецелесооб- разно иметь основание, равное двум. Поэтому представляется необходимым рассмотреть процесс введения отрицательных чисел более общего характера, не предполагая обязательно в составе оснований числа 2. Пусть основания системы суть рь р2, . . ., рп, причем pt = 2t+ 1. Разобьем диапазон еР = рхр2 . . . рп на две части: [о, V) « [ V • • __1 Пусть далее в принятой системе число —— имеет (р_1 вид — = (pi, Р2т • • •, Рп)- Примем в качестве нуля число ад__1 —2— и будем представлять положительные числа М=|М| в виде N' — 1 +1N |, а отрицательные числа N = — | N | в виде N' = -1 — | N |, т. е. общий вид искусственной формы числа будет N'=^±+N. (1.15) Представление числа в виде (1.15) в дальнейшем будем называть обобщенной искусственной формой числа. Предполагая, что результат операции по абсолютной величине не превышает , можно выполнять операции 22
сложения и вычитания следующим образом: пусть надо найти сумму двух чисел NL и N2. заданных в искусствен- ной форме: ^ = ^4-^, N' = ^ + N2; сложим эти числа ^+jv;=2^=1+m+jv2. Искусственная форма суммы этих чисел имеет вид (tf1 + tf2)'=^=l + N1 + y2. Обозначим (— через ; ^^=(pi, р2, ..рп). Здесь pt —pi — рь i—1, 2, n. Тогда (^1+^2)' = ^ + ^+(p1, P2, Pn). (1-16) Легко видеть, что дополнительный код числа N полу- чается вычитанием данного числа из ар__I 2 = (Рь р2’ • • • » Рп)» При этом, если, число было задано в искусственной форме, вычитание при образовании дополнительного кода должно производится из 2^ = (Р1-1, р2-1, ..Рп- 1). Приведем примеры, иллюстрирующие сложение чисел в принятом искусственном представлении. Система основания имеет вид: Р1 = 3, р2 = 5, рз = 7, р4=11. Тогда =577= (1, 2, 3, 5) и = (2, 3, 4, 6). Пример. Д\ = 46, У2 = 81. Напишем искусственные формы сла- гаемых W; = (l, 2, 3, 5)4-(1. 1. 4, 2) = (2, 3, 0, 7), W2 = (l, 2, 3, 5)+(0, 1, 4, 4)= (1, 3, 0, 9). Тогда в соответствии с (1.16) получаем (У1+А12)' = (2, 3, 0, 7) + (1, 3, 0, 9)4-(2, 3, 4, 6) = (2, 4, 4, 0). Проверяем переходом к десятичной системе, что (464-81)'=(127)' = 5774-127 = (1, 2, 3, 5)4-(1, 2, 1, 6)=(2, 4, 4, 0}. 23
Пример. Л^ = 46, Л^ ——81. ^==(1, 2, 3, 5) + (1, 1, 4, 2) = (2, 3, 0, 7), Л^ = (1, 2, 3, 5) —(О, 1, 4, 4) = (1, 1, 6, 1), (^ + Л’2)' = (2, 3, О, 7) + (1, 1, 6, 1) + (2, 3, 4, 6) = (2, 2, 3, 3). Проверкой переходом к десятичной системе получаем (46 —81)'= ( —35)'= 577 —35 = (1, 2, 3, 5)-(2, 0, 0, 2) = (2, 2, 3, 3). Пример. — 46, Л^2 = — 81. Переходим к искусственной форме: = (1, 2, 3, 5) —(1, 1, 4, 2) = (0, 1, 6, 3), Л^2 = (Ь 2, 3, 5)-(0, 1, 4, 4) = (1, 1, 6, 1), (^i + ^2)' = (°’ Ь 6’ 3) 4- (1, 1, 6, 1)4-(2, 3, 4, 6) = (0, 0, 2, 10). Производим проверку в десятичной системе (-46-81)' = (—127)' = -=577— 127= (1, 2, 3, 5)-(1, 2, 1, 6) = (0, 0, 2, 10). Приведем примеры, иллюстрирующие изложенный выше способ проведения вычитания. Пример. N1=116, — 87. Переходим к искусственной форме ^ == (1, 2, 3, 5) + (2, 1, 4, 6) = (0, 3, 0, 0), W' = (l, 2, 3, 5) + (0, 2, 3, 10) = (1, 4, 6, 4). Образуем дополнительный код вычитаемого N^. (—W2)' = (2, 4, 6, 10) —(1, 4, 6, 4) = (1, 0, 0, 6). Производим сложение согласно (1.16) (N,-N# = + (-NZ)Y = N{ + (-N# + ^=-5- = = (0, 3, 0, 0) + (1, 0, 0, 6) + (2, 3, 4, 6) = (0, 1, 4, 1). Проверяем переходом к десятичной системе, что (116—87)'= (29)'= 577 4-29 = (1, 2, 3, 5) + (2, 4, 1, 7) = (0, 1, 4, 1). Пример. ^4= 116, JV2=—87. #[ = (1, 2, 3, 5)4-(2, 1, 4, 6) = (0, 3, 0, 0), Л7'= (1, 2, 3, 5)-(0, 2, 3, 10) = (1, 0, 0, 6). Определяем дополнительный код вычитаемого (_//2)' = (2, 4, 6, 10) —(1, 0, 0, 6) = (1, 4, 6, 4) и производим сложение (^ —Л^2)' = (0, 3, 0, 0)4-(1, 4, 6, 4)4-(2, 3, 4, 6) = (0, 0, 3, 10). Проверяем в десятичной системе, что (116—(—87))'= (203)' = 5774-203 = (1,2, 3, 5) 4- (2, 3, 0, 5) = (0, 0,3, 10). 24
Пример. = — 116, N2-87- = 2, 3, 5) —(2, 1, 4, 6)=(2, 1, 6, 10), ^ = (1, 2, 3, 5)4- (0, 2, 3, 10) = (1, 4, 6, 4), (—W2)' = (2, 4, 6’ 10) — (1, 4, 6, 4) = (1, 0, 0, 6), (A^i —Af2)' = (2, 1, 6, 10) + (l, 0, 0, 6) + (2, 3, 4, 6) = (2, 4, 3, 0). Проверяем в десятичной системе, что (_ i 16 - 87)' = (- 203)' = 577 - 203 = = (1, 2, 3, 5) —(2, 3, 0, 5) = (2, 4, 3, 0). Пример. 116, /V2---— 87. Воспользуемся результатами предыдущих примеров (^-^2)' = (2, 1, 6, 10)4-(1, 4, 6, 4) + (2, 3, 4, 6) = (2, 3, 2, 9). Проверка (—116—(-87))' = ( — 29') = 577-29 = = (1, 2, 3, 5) —(2, 4, 1, 7) = (2, 3, 2, 9). Рассмотрим выполнение операции умножения при пред- ставлении множителей в обобщенной искусственной форме. Пусть и n'2=-^1+n2, тогда Обозначив cp = N1+^2+4r1’ получим откуда (ад)'=-^4+вд-^4ф. (и?) Полагая Ф=2[1]+2{^} (записью в фигурных скобках обозначается дробная часть от деления ср на два), получим (W _ + X-N- + [ Ф.] _ 2 { f. 25
Если ф четно, то =-у и {-у]- = 0, тогда (N1N2y=^ + N'1N'2 + ^-. (1.18) Если <р нечетно, то [jf] = и {"Т"} = у, тогда (NlN2y = N'1N’2 + ^- . (1.19) Введем величину определенную следующим образом: f , если ф четное, t = I 2 , если ср нечетное. Тогда выражения (1.18) и (1.19) трансформируются в сле- дующее: (Ш=^+ВДН (1.20) Величину ф целесообразно выбирать выраженной через искусственные формы сомножителей, т. е. + + . (1.21) Рассмотрим некоторые примеры, иллюстрирующие выполнение операции умножения, когда числа представлены в искусственной форме. Пример. 7V1 = 23, TV2= 19. Переходим к искусственным формам сомножителей ЛГ£ = (1, 2, 3, 5) + (2, 3, 2, 1) = (0, 0, 5, 6), Л^=(1, 2, 3, 5) + (1, 4, 5, 8) = (2, 1, 1, 2). Вычислим величину ф по (1.21): ф = (0, 0, 5, 6) + (2, 1, 1, 2) + (2, 3, 4, 6) = (1, 4, 3, 3), /=-^- = (2, 2, 5, 7), (Л^2)' = (1, 2, 3, 5)4-(0, 0, 5, 6)-(2, 1, 1, 2)4-(2, 2, 5, 7) = = (1, 2, 3, 5)4-(0, 0, 5, 1)4-(2, 2, 5, 7) = (0, 4, 6, 2). Производим проверку в десятичной системе (23-19)' = (437)' = 577 4-437 = (1, 2, 3, 5)4-(2, 2 , 3, 8) = (0, 4, 6, 2) 26
Пример. 7V1=23, N2 — —19. Вычислим искусственные формы сомножителей ^ = (1, 2, 3, 5) + (2, 3, 2, 1) = (0, 0, 5, 6), Л^ = (1, 2, 3, 5) —(1, 4, 5, 8) = (0, 3, 5, 8); определим ф: <р = (0, 0, 5, 6) + (0, 3, 5, 8) + (2, 3, 4, 6) = (2, 1, 0, 9), отсюда /=^- = (1,3, 0, 10). Вычисляем произведение по (1.20) (^2V2)' = (1, 2, 3, 5) + (0, 0, 5, 6).(О, 3, 5, 8)3, 0, 10) = (2, 0, 0, 8). Проверяем переходом к десятичной системе, что (23 • (— 19))' = (—437)' = 577 - 437 = = (1, 2, 3, 5) —(2, 2, 3, 8) = (2, 0, 0, 8). Пример. Ni= —22, N2 — 19. Переходим к искусственным формам сомножителей w; = (l, 2, 3, 5) —(1, 2, 1, 0) = (О, О, 2, 5), Л7'= (1, 2, 3, 5) + (1, 4, 5, 8) = (2, 1, 1, 2). Вычисляем ф: Ф = (0, 0, 2, 5) + (2, 1, 1, 2) + (2, 3, 4, 6) = (1, 4, 0, 2), отсюда / = -$- = (2, 2, 0, 1). Вычисляем произведение в соответствии с (1.20) (Л^2)' = (1, 2, 3, 5) + (0, 0, 2, 5).(2, 1, 1, 2) + (2, 2, 0, 1) = (0, 4, 5, 5). Производим проверку в десятичной системе ((-22). 19)'= (-418)'= 577-418 = = (1, 2, 3, 5)-(1, 3, 5, 0) = (0, 4, 5, 5). Пример. Л^=—22, N2— —19. Вычисляем ф, использовав искус- ственные формы сомножителей, определенные в предыдущих примерах: Ф = (0, 0, 2, 5) + (0, 3, 5, 8) + (2, 3, 4, 6) = (2, 1, 4, 8), отсюда / = -^-=(1,3, 2, 4). Вычислим произведение (У^2)' = (1, 2, 3, 5)4-(0» 0, 2, 5).(О, 3, 5, 8) + (1, 3, 2, 4) = (2, 0, 1, 5). Проверяем переходом к десятичной системе, что ((-22) (- 19))' = (418)' = 577 + 418 = = (1, 2, 3, 5) + (1, 3, 5, 0) = (2, 0, 1, 5). 27
§ 1.5. МНОГОСТУПЕНЧАТАЯ СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ Одним из существенных достоинств системы остаточных классов является возможность параллельной обработки цифр, представляющих собой остатки по принятой системе оснований pi, р2, . • рп- Поскольку при этом диапазон представления чисел еР определяется как произведение оснований = PiPz Рп, то естественно, что диапазон представления чисел растет значительно быстрее, чем разрядная сетка, необходимая для представления числа, характеризуемая суммой разря- дов, необходимых для представления остатков по выбран- ным основаниям. Требование взаимной простоты оснований не позволяет их выбрать скученно на небольшом участке ряда натураль- ных чисел. Так, например, одна из возможных систем оснований, реализующая числовой диапазон порядка & 1017, будет такой 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47. Легко видеть, что для хранения остатков по этим осно- ваниям потребуются двоичные регистры с разрядностью соответственно 2, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6. На шестиразрядных регистрах могут храниться остатки еще по трем основаниям того же ряда, а именно по осно- ваниям 53, 59, 61, что увеличит диапазон до величин поряд- ка 1022. Для дальнейшего увеличения диапазона потре- буется переход к семиразрядным регистрам. Возможно, указанная система оснований и не является оптимальной, но она, так же как и любая другая, отобра- жает естественную тенденцию к росту разрядности реги- стров при увеличении числового диапазона. Увеличение разрядности регистров, хранящих остатки чисел рассмат- риваемого диапазона, соответственно приводит к усложне- нию аппаратуры арифметического устройства и увеличению времени выполнения операций. Стремление по возможности уменьшить величину осно- ваний привело к мысли строить систему остаточных клас- сов в несколько ступеней. Пусть главная система оснований есть pif р2, . . рп, и эта система оснований обеспечивает возможность выпол- нения операций в заданном диапазоне [0, аР). Максимальное 28
число, которое может быть получено в этой системе при умножении отдельных цифр, есть (рп — I)2. Будем теперь представлять все цифры главной системы в новой системе с основаниями ль л2, . . такими, что Л :==: Л^Л2 • • • •Nr (Рп 1 )2. В этой системе максимальным числом, которое может быть получено при умножении ее цифр, явится число (яг — I)2. Можно, в свою очередь, эти последние цифры (в системе . . ., яг) записывать в системе с основаниями Р1, р2, . . Ps При условии р = Pip2 . . . р8>(лг — I)2 и т. д. Такой процесс перехода к меньшим основаниям заметно упрощает реализацию элементарного арифметического устройства и сокращает время выполнения арифметиче- ской операции. Действительно, для системы с диапазоном еР 1017 наи- большим основанием является рп = М, При умножении наибольшим числом, остаток которого предполагается определить, может быть 462 = 2116. Таким образом, вторая ступень системы остаточных классов долж- на быть такой, чтобы ее диапазон я = ль л2, . . ., яг удов- летворял для старшего основания условию л >2116. Пользуясь предложенной выше системой оснований, можно значения выбрать следующими: 3, 5, 11, 13. Диапазон второй ступени для наибольшего основания ограничивается наибольшим основанием лтах = 13. Можно рассмотреть третью ступень, в которой наиболь- шее получаемое число будет 122 = 144. Естественно, что для реализации третьей ступени потребуются основания меньшей разрядности. В частности, из того же ряда может быть выбрана система оснований 3, 5, 11. Здесь наибольший результат операции определится как Ю2 = 100, т. е. для реализации возможных операций в чет- вертой ступени потребуются основания 3, 5, 7. Очевидно, что дальнейшее уменьшение величины наи- большего основания ограничено, поскольку, если даже отвлечься от выбранного ряда взаимно простых оснований, окажется, что максимальное число, могущее возникнуть в процессе выполнения операции, равно (7 — I)2 = 36, а новая система взаимно простых оснований может быть выбрана только из ряда 2, 3, 4, 5, 6, что невозможно. Таким образом, от первоначальной системы оснований с наиболь- 29
шим основанием рп = 47 можно перейти через три ступени к системе оснований с наибольшим основанием, равным 7, благодаря чему обеспечивается уменьшение избыточности в таблицах арифметических операций и увеличение быстро- действия последних. Арифметическое устройство при этом будет работать только в высшей ступени и лишь на этапах вывода результата полученные числа должны преобразовы- ваться в форму, наиболее предпочтительную для выхода. Следует обратить внимание на то обстоятельство, что в общем случае мы выигрываем в избыточности одного эле- ментарного арифметического устройства, однако при каж- дом увеличении ступени оснований проигрываем в избы- точности всего арифметического устройства за счет увели- чения разрядности всего числа и за счет увеличения избыточности при переходе на новую ступень. Рассмотрим некоторые примеры, иллюстрирующие многоступен- чатые системы. Для оперирования с числами от 1 до 103 следует выбрать систему оснований, в которой были бы представимы числа от 1 до 106. Можно принять систему оснований: Р1 = И, р2=13, р3=17, р4 = 20, р5 = 21. Здесь & = Р1Р2Р3Р4Р5 = 1011020 > 106. При операциях с цифрами в этой системе максимально возможный результат 20-20 = 400. Будем каждую из цифр представлять в системе с основаниями: = 3, зт2 = 4, Л3 = 5, зт4 = 7. Диапазон этой системы я = л1л2ЛзЯ4 = 3-4-5-7 = 420. Наибольший возможный результат в этой системе определится как (7—1)2 = 36, в то время как в первой системе оснований наи- больший возможный результат был равен 400, т. е. здесь элемен- тарное арифметическое устройство оперирует с числами, в 10 раз меньшими по величине. Пример. Пусть нам надо провести умножение 115-541. Запишем сомножители в главной системе оснований (первой ступени) 115= (5, 11, 13, 15, 10); 541 = (2, 8, 14, 1, 16). Напишем теперь эти числа в системе оснований следующей (второй) ступени: 115 = [(2, 1, 0, 5); (2, 3, 1, 4); (1, 1, 3, 6); (0, 3, 0, 1); (1, 2, 0, 3)], 541 = [(2, 2, 2, 2); (2, 0, 3, 1); (2, 2, 4, 0); (1, 1, 1, 1); (1, 0, 1, 2)]. Произведем умножение во второй ступени 115-541 =[(1, 2, 0, 3); (1, 0, 3, 4); (2, 2, 2, 0); (0, 3, 0, 1); (1, 0, 0, 6)]. 30
Рассмотрим, как выглядит полученный результат в первой ступени: 115-541 = (10, 88, 182, 15, 160). Операции в низшей системе всегда будут правильны, если истин- ный результат не выходит из диапазона представления чисел старшей ступени. При этом также не должен иметь места выход из диапазона представления чисел и в низшей ступени. Возвращаясь к результату проведенного умножения, приведем его к наименьшим положительным остаткам по выбранной системе оснований 115-541 =(10, 10, 12, 15, 13) =62215. Пример. Вычислить 412. Запишем число 41 в первой системе оснований 41 = (8, 2, 7, 1, 20). Перейдем ко второй ступени 41 = [(2, 0, 3, 1); (2, 2, 2, 2); (1, 3, 2, 0); (1, 1, 1, 1); (2, 0, 0, 6)]. Возведем 41 в квадрат во второй ступени 412 = [(1, о, 4, 1); (1, 4, 4, 4); (1, 1, 4, 0); (1, 1, 1, 1); (1, 0, 0, 1)]. Восстановим результат в первой ступени 412 = (64, 4, 49, 1, 400) и приведем его к наименьшим положительным остаткам в первой ступени 412 = (9, 4, 15, 1, 1,)= 1681. § 1.6. РАЦИОНАЛЬНЫЕ ОПЕРАЦИИ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ Выше было установлено, что операции сложения и умно- жения над числами, представленными в системе остаточных классов, сводятся к соответствующим операциям над циф- рами этого представления. Это оказывается справедливым и для любых сложных операций, составленных из операций сложения и умножения. Единственным ограничением в вы- полнении такого рода сложных операций является требо- вание невыхода за пределы диапазона, определяемого при- нятыми основаниями системы, как окончательного, так п промежуточных результатов. При некоторых уточненных правилах выполнения сложных операций оказывается воз- можным ограничиться требованием невыхода из диапазона лишь окончательного результата, оставляя за промежуточ- ными результатами возможность выходить за пределы диапазона. 31
Очевидно, что сказанное относится также к вычислению значений полинома. Пусть дан полином Q (х): Q (%) = 2 г=0 где = .... а^); х1 = (х<?. х<р. .... х^); коэффициенты и степени основания полинома, представлен- ные в системе остаточных классов по основаниям рь р2, . ... рп. Обозначим через Q; (%/) выражение Q;(xj) = г=0 J J Тогда в соответствии с правилами сложения и умножения в системе остаточных классов Q (х) = ( 3 аО>х«; 3 ; 3 а£>х£>) = г= 0 г— О г= О 7 = (Qi(xi), Q2(-^2)? •••> Qn(-^n))* (1.22) Компоненты полиномов записываются с учетом знаков в искусственной форме. Для иллюстрации рассмотрим некоторые примеры. В этих приме- рах принята система оснований: Pi = 2, р2 = 3, Рз = 5, Рь-7- Пример. Вычислить выражение ЛВ-|-С при А = 4, В = 5, С = — 3. Напишем заданные числа в искусственной форме: Л' = (1, 0, 0, 0) + (0, 1, 4, 4) = (1, 1, 4, 4) В' = (1, 0, 0, 0) + (1, 2, 0, 5)-(0, 2, 0, 5), С' = (1, 0, 0, 0) —(1, 0, 3, 3) = (0, 0, 2, 4). Вычисляем выражение А'-В'-\-С'\ А'-В' + С'^Х, 1, 4, 4).(О, 2, 0, 5) + (0, 0, 2, 4) = (0, 2, 2, 3). Производим проверку в десятичной системе (4-5 —3)' == (17)' = 105-f-17 = (1, 0, 0, 0) + (1, 2, 2, 3) = (0, 2, 2, 3). Пример. Вычислить выражение АВ-{-С при А = 5, В — — 3, С = 4. Приведем заданные числа к искусственной форме: Л' = (1, 0, 0, 0) + (1, 2, 0, 5) = (0, 2, 0, 5), В' = (1, 0, 0, 0) — (1, 0, 3, 3) = (0, 0, 2, 4), С' = (1, 0, 0, 0)+ (0, 1, 4, 4) = (1, 1, 4, 4). 32
Вычисляем выражение А'.В'4- С': А'-В' + С' = (О, 2, 0, 5) (О, О, 2, 4)4- (1, 1, 4, 4) + (1, О, О, О) = = (1, 1, 4, 3) + (1, О, О, О) = (О, 1, 4, 3). Проверяем в десятичной системе, что (5-( —3) + 4)' = (—11)' = 105—11 = = (1, О, 0, 0) —(1, 2, 1, 4) = (О, 1, 4, 3). Пример. Вычислить выражение (А — В) С при 4 = 17, В = 7, С = 5. Напишем заданные числа в искусственной форме: Л' = (1, О, О, О) + (1, 2, 2, 3) = (0, 2, 2, 3), В' = (1, О, О, 0) + (1, 1, 2, 0) = (0, 1, 2, 0)-В' = — (2, 3, 5, 7) —(О, 1, 2, 0) = (0, 2, 3, 0), С' = (1, О, О, 0) + (1, 2, 0, 5) = (0, 2, 0, 5). Вычисляем выражение (Д' —В') С': (Д'-В') С'= ((О, 2, 2, 3)4-(О, 2, 3, 0) + (1, О, О, 0)).(0, 2, 0, 5)4- + (1, О, О, 0) = (1, 1, О, 3) (0, 2, 0, 5) + (1, О, О, 0) = (1, 2, О, 1). Производим проверку в десятичной системе ((17-7).5)' = (50)' = 1054-50= (1, О, О, 0) + (0, 2, 0, 1) = (1, 2, О, 1). Пример. Вычислить значение полинома Q (х) = Их2 — 7x4-8 при х = 3. Напишем Q (х) с коэффициентами, представленными в искусствен- ной форме: Q'(x) = (O, 2, 1, 4)х24~(0, 2, 3, 0)х4-(1, 2, 3, 1), х' = (1, О, О, 0)4-(1, 0, 3, 3) = (0, 0, 3, 3). Вычисляем значения Q/(xj), где xj —остаток по основанию pj: Qi (х4) ==0.024-0-0 4-1 = 1, Q2(x2) = 2.°24-2.04-2 = 2, Q3 (х3) = Ь32 4-3.34-3=1, Q4 (x4) = 4- 324-0.34-l =2. Отсюда Q' (x') = (l, 2, 1, 2). Проверяем в десятичной системе (Q(3))' = 1054-Q(3) = 1054-86 = (l, 0, 0, 0)4-(0, 2, 1, 2) = (1, 2, 1, 2). § 1.7. ПЕРЕВОД ЧИСЕЛ ИЗ ПОЗИЦИОННОЙ СИСТЕМЫ В СИСТЕМУ ОСТАТОЧНЫХ КЛАССОВ И ОБРАТНО Перевод числа N из позиционной системы в систему остаточных классов может быть осуществлен с помощью набора констант, являющихся эквивалентами степеней р 3 - 1365 33
(основание позиционной системы) в системе остаточных классов. Пусть число N задано в позиционной системе счисления с основанием р N = arpr + + ... + Д1Р + До или М=2аг/А (1.23) г=0 Здесь одно из чисел 0, 1, 2, ..., р — 1 и пусть = Р?\ •••, Р«’) для i=l,2, г — суть представления степеней р в системе остаточных классов с основаниями ръ р21 ..., рп, а величины = (а<*\ ..., а^>) для i = 1, 2, ..., г — представления коэффициентов полинома (1.23) в системе остаточных классов. Тогда в соответствии с (1.22) можно легко образовать число N в системе остаточных классов. Обозначив Qj= 3 г=0 получим Л/ = (<21, <?2, Qnl (1.24) т. е. для образования числа N в системе остаточных клас- сов требуется знание г констант, являющихся степенями р и р — 1 констант соответствующих возможным значениям at т. е. всего г + р — 1 констант. Этот путь проще, чем непосредственное деление N на каждое основание и образо- вание остатка, как это вытекает из определения системы. Он может быть осуществлен при наличии арифметического устройства, работающего в системе остаточных классов. Пример. Перевести число 102 из десятичной системы в систему остаточных классов с основаниями: pt = 3, p2 = 5t Рз-?- Выпишем константы: ро=г 1 = (1, 1, 1), р1= Ю = (1, 0, 3), р2= Ю0 = (1, 0, 2); а0 = 2= (2, 2, 2), ^ = 0 = (0, 0, 0), а2=(1, 1, 1), тогда в соответствии с (1.24) 102 = (2-1+0-1 + 1 • 1, 2-1 +0-0+ 1-0, 2.1+ 0.3-1-1.2) = (0, 2, 4). 34
Можно, если не лимитирует память, иметь набор кон- । тлит значений произведений ajpi (j = 0, 1, . . ., р — 1) и системе остаточных классов. Тогда число N образуется просто сложениями соответ- ствующих констант. Вычисление N может также вестись по схеме Горнера для полинома. Рассмотрим теперь алгоритм перевода из системы оста- точных классов в позиционную систему. Пусть основания системы остаточных классов суть pit р>>, . . ., рп. Зададим п чисел Bif В2, . . ., Вп в системе < к*таточных классов в>=(₽(Л / = 1, 2, ..., /г, которые в дальнейшем будем называть базисами системы. Как будет видно далее, базисы системы являются ее основ- ными константами. Значения их определяются одновремен- но с выбором системы и известны нам как в системе оста- точных классов, так и в позиционной системе счисления. Пусть для перевода в позиционную систему задано чис- ло А в виде А = (аь аг, ..ап). Задача перевода заключается в том, чтобы определить числа [Xi, ц2. •••, Нп такие, что Ц1В1 + РгВ2 + ... + (ХдВп = А. (1.25) Перепишем (1.25) в системе остаточных классов .... Ю + р2(₽Г, РГ\ .... Ю+... • • • + Нп, &п)) = («!, «2, . • •, «п). Приравнивая соответственные остатки, получаем систе- му линейных алгебраических уравнений для определения величин |Л1, р2. • • -1 Нп- HlPi^ + НгР^ + . . . + Hnpi^ = а1. HiPa15 + НгР^ + . •. + Hnp2W) = а2, . (1.26) ЩРп* Н" rf} + . . • + Нпрп ) — 3* 35
Система (1.26) будет иметь целые решения, если опре- делитель системы равен ±1, т. е. Р'1’, Р12>,р<п) Р“>, р«>,р<п) Ркп, Рк2),.... р£° Имеется большой выбор величин р2, • • Рп, посколь- ку любая система величин р(У приемлема в качестве остат- ков базисов, если она удовлетворяет условию (1.27). В частном случае в качестве базисов системы могут быть выбраны следующие величины В,= (1, 0, 0, ..., 0), В2 = (0, 1, 0, ..., 0), ... ..., Вп = (0, 0, ..., 1), (1.28) которые естественно называть ортогональными базисами системы. В соответствии с (1.26) для ортогональных базисов получаем = Для £=1,2, ...,и, (1.29) откуда А = сх^В^ + 0С2В2 ... + оспВп (mod ^). (1.30) Для этих базисов определитель левой части имеет вид 100 ... 0 010 ... 0 =L 000 ... 1 Рассмотрим пример применения ортогональных базисов для пере- вода из системы остаточных классов с основаниями Pi = 3, Р2 = 5, р3 — 7 в десятичную систему. Пример. Перевести число А = (2, 3, 5) в десятичную систему. Выпишем ортогональные базисы: В1== (1, 0, 0) = 70, В2= (0, 1, 0) = 21, В3= (0, 0, 1) = 15. На основании (1.30) можно написать Д = (2, 3, 5) = 2B4 + 3B2+5B3 = 2.70 + 3-21 + 5.15 = 278. Полученный результат вводим в диапазон вычитанием величины, кратной ^ = 105, и окончательно получаем А = (2, 3, 5) = 278—2-105 = 68. 36
1 Io определению ортогональных базисов (1.28) они могут ныть представлены в виде Г> ГП^Р . 1 о Bi = —— для i = 1, 2, ..., и, Pi где ш, —целое положительное число, которое назовем несом ортогонального базиса. Причем mt должно выбираться таким образом, чтобы имело место следующее сравнение ^Sl(modp0 (1.31) Pl пли ^=ltpi+l, Pl где It—целое положительное число. Укажем, каким образом целесообразно вычислить вели- чину mt. Введем обозначение &i=—. Пусть мы вычис- Pi лили = —. Делим сРг на pt. Так как составлено из множителей взаимно простых с рг, то еРг не будет нацело делиться на рг, в результате деления получим не- который остаток, который обозначим через 6г. Тогда в соот- ветствии с (1.31) гщ определится как решение сравнения mfit = 1 (modp;). (1.32) Ввиду сравнительной малости величин оснований для набо- ра pi можно составить таблицы решений сравнения (1.32), в которых по величине 6г находится соответствующее шг. 1 [олагая, что основания системы берутся простыми, при- ведем таблицы решений сравнения (1.32) для простых чисел в диапазоне 2е. В этой таблице для каждого простого числа в диапазоне I — 2е приведены mit соответствующие всевозможным 6г. Для контроля вычисления ортогональных базисов мож- но воспользоваться соотношением, получаемым из (1.28): Bi + в2+... + Вп = (1, 0, ..., 0) + (0, 1, ..., 0) +... + + (0, 0, ..., 1) = (1, 1, ..., 1)=1. Поскольку действие производится в системе с диапазо- ном [0,оР), то контрольное соотношение может быть запи- сано как 37
ТАБЛИЦА РЕШЕНИЙ СРАВНЕНИЯ (1.32) 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 1 1111 2 2 3 4 3 2 5 4 4 2 5 3 6 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 11111 6 7 9 10 12 4 9 6 13 8 3 10 13 5 6 9 8 7 4 14 2 11 3 16 4 8 2 5 11 10 7 5 15 12 3 5 3 2 17 18 10 4 12 2 7 6 14 7 21 12 10 8 2 4 3 16 11 15 5 8 14 20 16 6 13 9 19 18 9 17 15 11 22 11111 15 16 19 21 22 10 21 25 14 29 22 8 28 31 11 6 25 15 33 26 5 26 31 7 36 25 9 16 6 37 11 ’4 14 36 27 13 7 33 32 24 3 28 26 37 13 8 17 27 15 4 17 13 24 24 18 9 12 20 19 10 27 20 8 3 40 2 29 5 11 23 20 2 7 18 35 12 11 24 29 38 21 19 35 16 12 26 18 2 13 34 16 14 13 39 28 18 3 30 2 41 4 24 32 28 2 24 27 29 25 15 23 22 17 12 9 7 5 3 23 31 19 6 10 30 5 14 23 11 38 8 28 10 4 22 20 15 23 17 3 30 21 26 33 6 4 25 22 9 39 9 5 30 12 35 19 18 34 16 36 8 6 10 7 27 17 20 32 40 40 21 42 1111 24 27 30 31 16 18 20 41 12 40 15 46 19 32 12 49 8 9 10 51 27 38 17 35 6 20 37 23 21 6 46 34 33 16 6 55 30 29 43 50 4 31 5 56 29 49 50 47 37 19 38 48 22 46 4 57 3 10 48 42 36 25 7 18 34 3 23 17 5 14 28 45 40 8 3 58 9 48 45 32 15 41 51 25 45 30 18 8 2 42 32 28 32 17 26 22 38 51 25 54 7 2 35 52 42 36 19 24 13 11 57 40 11 23 2 59 44 12 40 2 25 5 24 21 10 45 34 37 18 39 33 9 43 50 27 7 17 28 41 39 14 43 8 33 26 7 14 53 41 34 56 36 20 4 31 29 39 22 36 3 28 24 52 16 35 37 11 44 31 47 55 43 23 33 21 19 46 15 9 4 44 54 13 38
Продолжение 53 59 61 48 49 SO SI S2 S3 S4 S5 S6 f>7 S8 59 60 21 16 14 13 53 5 35 13 11 26 22 6 52 42 27 49 38 47 26 44 10 56 12 29 15 58 20 30 60 3 Bi = 1 (mod ^). (1.33) i=l Рассмотрим примеры вычисления ортогональных базисов, исполь- iyя данные из таблицы. Пример. Пусть дана система оснований: Р1 = 3, р2 = 5, р3 = 7, р4 Вычисляем: бр -— = 5-7.17 = 595, Pi — = 3- 5-17 = 255, Рз Вычисляем теперь: fi,=^(mod3)=l, О 63 = ^(mod 7) = 3, По таблице находим: т, = 1, 17. ^ = Р1Р2РзР4 = 1785. — = 3-7.17 = 357, Р2 бр ±- = 3-5.7=105. Р4 <> 357 . . о д2 = -г- (mod 5) = 2, о 64 = ^ (mod 17) = 3. = 3, m3 = 5, т4 = 6. Итак, В4= 1-595 = 595, В2 = 357-3= 1071, В3=5-255 = 1275, В4 = 6-105 = 630. Проверяем на контрольное соотношение Bj + S2+B3 + B4=595+1071+ 1275+630 = 3571; 3571-2-1785=1.
ГЛАВА ТЕОРЕТИКО-ЧИСЛОВЫЕ ОСНОВЫ СИСТЕМЫ ОСТАТОЧНЫХ КЛАССОВ § 2.1. ЭЛЕМЕНТЫ ТЕОРИИ СРАВНЕНИЙ Основной теоретико-числовой базой системы остаточных классов является теория сравнений. Вопросы теории срав- нений были разработаны выдающимся русским ученым П. Л. Чебышевым и изложены в его классическом труде «Теория сравнений». Следуя в основном изложению П. Л. Че- бышева, ниже будут рассмотрены некоторые вопросы теории сравнений, необходимые для развития системы остаточных классов, а также некоторые методы выполнения арифмети- ческих операций, основывающихся на применении теории первообразных корней и индексов. Определение. Два целых числа а и b сравнимы между собой по модулю р, если их разность а — b кратна р (делится нацело на р), т. е. а — b — 1р, где I — целое число. Для сравнения принято обозначение a = i>(modp). (2.1) Сравнение можно трактовать как равенство по модулю. Это имеет смысл, поскольку сравнения обладают многими свойствами, присущими равенствам. Перечислим эти свой- ства. Свойство 1. Если а, Ь, с и р — целые числа, то из сравнений а^с (modр) и b = c(modр) 40
следует, что и as&(modp), (2.2) г. е. два числа, сравнимые с третьим по некоторому моду- лю, сравнимы между собой по этому же модулю. Действительно, по определению сравнения а = lip + с и b = 12р + с, где li и /2 — целые числа. Исключив с из обоих равенств, получим я = (4 — Z2) р + Z>, откуда и вытекает (2.2). Свойство 2. В сравнениях, так же как и в равен- ствах, можно переносить члены из одной части в другую без нарушения сравнения. Пусть имеет место сравнение ai + а2 4” • • • 4~ ат = bi 4- b2 4~ ... + bn (mod р). По определению это означает наличие равенства ai 4* ^2 4~ • • • 4~ ат — kp 4~ bl + b2 + ... + bn. Равенство не нарушится, если перенесем из одной части его в другую, с учетом знаков, любое количество членов. Пусть мы перенесли из левой части равенства члены а2, . . ., as в правую, а из правой bit b2, . . ., bt в левую. Тогда можно переписать равенство в виде fls+l 4" • • • 4" — bi — b2 — ... — Ь( ~ — kp-\- bt+i 4- • • • 4" bn — ai — ... — as. Переходя от равенства к сравнению, напишем as+i 4- • • • 4- ат—bi — ... — bt = = bt+i-\-.. .+bn — ai— ... — as (modp), что и показывает справедливость сформулированного свой- ства. В частности, если а = Ь(тойр), той b = a(modp). Свойство 3. Пусть и а2 = b2 (mod р). 41
Тогда имеют место и сравнения «1 + «2 = bi + b2 (mod р), di — а2 = bi — &2(modp), ' ’ ’ т. е. сравнения по одному и тому же модулю можно почлен- но складывать и вычитать. Действительно заданные сравнения можно переписать в виде равенств (Ц = k±p -J- и #2 == ~h ^2» складывая и вычитая почленно эти равенства, получим = (^i И- Р *Ь 4~ ^2» 611 — = (^1 — ^2) Р 4“ — ^2* Перейдя от равенств к соответствующим сравнениям, мы получим (2.3). Это свойство распространяется на любое количество сравнений. Приведем иллюстрирующий пример. Пример. Из сравнений 77 = 5 (mod 8), 36 = 4 (mod 8) почленным сложением —вычитанием получаем сравнения 774-36 = 54-4 (mod 8), т. е. 113 = 9 (mod 8) и 77 —36 = 5 —4 (mod 8), т. е. 41 = 1 (mod 8), справедливость которых легко устанавливается проверкой. Свойство 4. Если имеет место а = b (mod р) и г —целое число, то ar = br (mod р), (2.4) т. е. члены сравнения могут умножаться на одно и то же целое число. Действительно, первое сравнение эквивалентно равен- ству a = kp + b. Умножив обе части этого равенства на г, получим равен- ство ar = krp + br = Kp + br, где которое эквивалентно (2.4) 42
Проиллюстрируем это свойство примером. Пример. Имеет место сравнение 47 = 3 (mod 11). Умножаем обе чисти его на 17. Получим 799 = 51 (mod 11). Проверкой устанавли- ваем, что 799 — 51=748 делится на И. Свойство 5. Пусть a, s bi (mod р); а2 = b2 (modр);...; as = bs (modр). Тогда ata2-• -as = bib2.. .bs (modp), (2.5) г. e. сравнения по одному и тому же модулю могут почленно перемножаться друг на друга. Действительно, запишем сравнения как $ равенств «1 = kip + bi, а2 = k2p + b2;...; as = ksp + bs. 11сремножая почленно эти равенства, получим равенство Й1Й2 • ••#« = kik2. . . ksp3 -|- (kik2. . . ks-ibs -|- 4- kik2... ks-2ksbs-i 4- ... 4- k2k2...ksbi) ps 1 ... ... 4т (kib'2b2.. .bs-\- k2bib2... 4~ • • • ...-}- ksb]b2... б®-,) p bib2.. .bs, которое эквивалентно (2.5) Свойство 6. Пусть дан полином f (х) = gnXn + gn-l*”’1 + . . . + gn-lX + g0 с целыми коэффициентами и пусть а сравнимо с b но модулю р. Тогда f(a) = f(6)(modp), (2.6) г. е. значения полинома с целыми коэффициентами от двух аргументов, сравнимых по некоторому модулю, сравнимы между собой по тому же модулю. Это свойство устанавливается на основе использования предыдущих свойств сравнений. Приведем иллюстрирующий пример. Пример. Пусть дан полином f (х) = 7x4 +12x3 + 23x2 + 1 lx +10 и пусть дано 22 = 7 (mod 5). Найдем значения полинома при х=22 и х = 7 f (22) = 1 788 952; f (7) = 22 137. Вычислим разность f (22) — f (7) = 1 788 952 - 22 137 = 1 766 815. Легко видеть, что эта разность делится на 5, т. е. f (22) = f (7) (mod 5). 43
Свойство 7. Пусть имеет место сравнение ас = be (mod р), причем с взаимно просто с р. Тогда выполняется и сравнение а = b (mod р), т. е. члены сравнения могут быть сокращены на их общий множитель, если последний взаимно прост с модулем. Исходное сравнение эквивалентно равенству ac — kp + bc. Поскольку левая часть равенства кратна с, то и правая часть также должна быть кратна с. При р и с взаимно простых должно быть k кратно с, т. е. k — lc, тогда ас — lep + Ьс. Сократив обе части этого равенства на с, получим а = 1р + Ь, т. е. а = 6 (mod р). Пример. Из сравнения 374 = 77 (mod 9) следует, после сокращения на 11, 34 = 7 (mod 9), т. е. разность 34 — 7 = 27 делится на 9. Свойство 8. Пусть имеет место сравнение ас = be (mod рс). Тогда имеет место а = b (modp), т. е. сравнение, члены и модуль которого имеют общий множитель, может быть сокращено на этот множитель. Действительно, написав эквивалентное исходному сравне- нию равенство ас — kcp + be и сократив его на с, получим а = b (mod р). Приведем иллюстрирующий пример. Пример. Из сравнения 87 = 3 (mod 21), сокращением его членов и модуля на 3, получаем сравнение 29 = 1 (mod 7) спра- ведливое, так как 29 — 1 = 28 делится на 7. 44
§ 2.2. РЕШЕНИЕ ПРОСТЕЙШИХ СРАВНЕНИЙ Число х, удовлетворяющее сравнению f (x) = 0(modp), (2.7) назовем решением этого сравнения. Из изложенного ясно, что если сравнение (2.7) имеет хоть одно решение, то оно имеет и бесчисленное множество решений, сравнимых с дан- ным решением по модулю р. Среди этих решений имеется наименьшее положительное число и наименьшее (по абсо- лютной величине) отрицательное число, т. е. наименьший положительный вычет и соответственно наименьший отри- цательный вычет. Введем понятие независимых решений сравнения (2.7). Два решения аир сравнения будем называть независимы- ми решениями, если они несравнимы между собой по моду- лю р. Далее, всюду, говоря о числе решений сравнения (2.7), будем иметь в виду именно число независимых реше- ний, поскольку говорить о числе зависимых решений не имеет смысла — оно, как мы видели выше, бесконечно. Имеет место следующая теорема. Теорема 2.1. Сравнение f (х) = О (mod р) имеет столько решений, сколько чисел в ряду О, 1, ..., р-1 (2.8) ему удовлетворяют. Доказательство. Если через а1( а2, . . ., ап обозначить эти числа, то число решений будет п и совокупность реше- ний сравнения (2.7) может быть записана в виде: х s otj (mod р), х = a2 (modp), х = ап (mod р). Обозначим через а произвольное число из последова- тельности (2.8). Тогда любое число р, лежащее вне после- довательности (2.8), может быть записано в виде р = Лр4-а. Предположим, что Р является решением сравне- ния (2.7), т. е. ИР) = о (modp). 45
Подставив значение р в правую часть полинома, получим f(P) = Lp + f(a). Откуда f (a) = 0 (mod р), т. е. и а должно быть решением сравнения, иначе говоря, одним из чисел а1( а2, . . ., ап. Но тогда р как число, сравнимое с а, не является независимым решением сравне- ния (2.7). Таким образом, независимых решений может быть не более р. Пример. Пусть дан полином f (х) вида f (х) = Зх3 + 2ха + 5х + 2. Подставляя в него последовательно вместо х числа 0, 1, 2, 3.....10, получим значения f (х), соответственно равные 2, 12, 44, 116, 246, 452, 752, 1164, 1706, 2396, 3152, из которых кратно р = 11 только 44, соответствующее значению х = 2. Таким образом, сравнение Зх3 + 2ха + 5х + 2 = 0 (mod 11) имеет только одно решение х= 2 (mod 11). Следствие. Сравнение первой степени ах + b = 0 (mod р) (2.9) может иметь только одно решение при a^O(modp). Действительно, все решения этого сравнения согласно предыдущей теореме должны находиться среди чисел последовательности (2.8). Пусть является таким реше- нием. Это означает, что aa1 + & = ^p. (2.10) Пусть имеется а2 — второе решение этого сравнения, т. е. аа2 + Ь = 1р. (2.11) Вычитаем (2.11) из (2.10). Получим а («! — a2) = (k — I) р. (2.12) Так как правая часть равенства кратна р, то и левая часть должна быть кратна р. Но at — a2 как разность двух чисел, каждое из которых меньше р, не может делиться на р. Поэтому кратным р должно быть число а. Но по условию теоремы а не может делиться на р. Следовательно, равен- ство (2.12) не может иметь место. Иначе говоря, предполо- 46
жспие о том, что существует второе решение а2 сравнения (2.9), несостоятельно, и это сравнение может иметь лишь единственное решение среди чисел последовательности (2.8). Теорема 2.2. (Малая теорема Ферма.) Если число а не кратно р, то при простом р справедливо сравнение а”-1 == 1 (mod р). (2.13) Доказательство. Действительно, пусть а1( а2, . . ., ар-1 числа из последовательности (2.8) такие, что a i^a^modp), 2a = a2(modp), ..., (р— IJasap-^modp). Перемножив все эти сравнения между собой в соответ- ствии с установленными выше правилами, получим 1 -2-3.. .(р— 1)ap-1 = aka2.. .ap-^modр). (2.14) Установим прежде всего, что среди чисел ai, a2, . . ., . . ., ap-i не может быть двух одинаковых чисел. Действительно, если предположить наличие двух оди- наковых чисел аг = а,- = с, то это означает, что имеют место сравнения akt=. c(modp) и akj = с (mod р), т. е. что сравнение ах + b = 0 (mod р) имеет два решения kt и kj среди чисел последовательности (2.8), чего быть не может на основании следствия предыду- щей теоремы. Следовательно, среди чисел а1( а2........ . . ., ар-! не может быть одинаковых чисел. Далее отметим, что среди них нет числа, равного нулю аг = 0, так как в этом случае должно было бы иметь место сравнение aki = 0 (mod р), из которого следовало бы, что а кратно р, а это противоречит условию теоремы. Таким образом, числа ai, a2.......ap-i — различные числа последовательности (2.8), причем среди них нет пуля, откуда следует, что 0.102. •«₽-!= 1 -2-3.. .(р— 1) =(р— 1)! Сократив обе части сравнения (2.14) на множитель (р — 1)1, получим (2.13), что и является утверждением теоремы. Приведем иллюстрирующий теорему Ферма пример. Пример. Возьмем а = 13, р — 5. Число a*5-1 — 1 = 134 — 1 = j 28561 — 1 = 28560 делится на 5. 47
Эйлер обобщил теорему Ферма на случай взаимно про- стых с р чисел следующим образом. Теорема 2.3. (теорема Эйлера.) Если число а является взаимно простым с р числом, то справедливо сравнение ач> (р) = 1 (mod (2.15) где через q> (р) обозначено количество чисел последователь- ности (2.8) взаимно простых с р, т. е. не имеющих с р общих сомножителей. Доказательство. Пусть kt, k2.......^<р(р) — взаимно простые с р числа среди чисел последовательности (2.8), a oii, а2, • • •, а<₽(р) — числа этой же последовательности, определяемые сравнениями: a^sajmodp), ak2 = a2 (modp), aky tp) (p) (mod p). Перемножение этих сравнений приводит к сравнению kxk2 ...k^ (р) а<? (р) = ... аф (р) (mod р). Прежде всего заметим, что числа аг должны быть взаим- но просты с р. Действительно, предположим противное, что аг имеет с р общий множитель, т. е. если р = ms, то аг = mt, где т, s и t — целые числа. Перепишем соответствующее сравнение из (2.16) в виде. akt = mt (mod ms) или в форме эквивалентного равенства akt = Lms + mt = т (Ls 4-1). Из последнего сравнения следует, чтоа&; должно делить- ся на т. Но ни а, ни kt ввиду отсутствия у них общих сомножителей с р не могут делиться на т, и, следователь- но, не может делиться на т и их произведение. Это пока- зывает несостоятельность предположения о наличии аг не взаимно простого с р. Далее, уже описанным в предыдущей теореме образом устанавливается, что среди чисел аг нет одинаковых. Так как количество чисел аг равно <р (р), то последовательность чисел ^2» • • • > ^<р (р) (2.17) 48
представляет собой совокупность всех чисел, взаимно про- стых с р из последовательности (2.8), иначе говоря, после- довательность (2.17) полностью совпадает (с точностью до порядка следования) с совокупностью ki, k2, . . ., (₽)• Отсюда следует, что kik2 ... &<j>(P) = «1«2 . . . а<р(р), что и доказывает (2.15). Пример. Возьмем а = 5 при р — 12. Вычислим <р (12). Выпи- шем последовательность (2.8) для р = 12 : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11. Здесь подчеркнуты числа последовательности, взаимно простые с 12. Таких чисел оказалось 3, т. е. <р (12) = 3. Следова- тельно, должно иметь место сравнение 53 = 1 (mod 12). Проверка 53 — 1 = 125 — 1 = 124 (делится на 12) показывает справед- ливость этого сравнения. § 2.3. ПЕРВООБРАЗНЫЕ КОРНИ И МЕТОДЫ ИХ ВЫЧИСЛЕНИЯ Перейдем теперь к рассмотрению некоторых конкрет- ных видов сравнений. Теорема 2.4. Пусть сравнению a* s & (mod р), (2.18) где р —простое, а а —взаимно простое с b число, удовлетворяет число х — |. Тогда этому же сравнению удовлетворяет всякое число z, сравнимое с £ по модулю р— I, т. е. zsg(modp-l). (2.19) Доказательство. Действительно, если имеет место (2.19), то z-l = k(p-]) и, следовательно, az~t = ak <₽-*). Но по малой теореме Ферма ар-1 = 1 (mod р), что влечет за собой az~t 1 (modp), а так как = & (mod р), получаем az = b (mod р), что и доказывает утверждение теоремы. 4 1365 49
Из изложенного видно, что если сравнению (2.18) удов- летворяет одно число аг из последовательности (2.8), то ему удовлетворяет бесконечное количество чисел, сравни- мых с а; по модулю р — 1. Всю эту совокупность решений, порождаемых числом аг, будем принимать как одно реше- ние. Именно в этом смысле будем говорить, что сравнение (2.18) имеет столько решений т, сколько чисел 5Ь 52, • • • . . ., 5m из последовательности (2.8) ему удовлетворяет. Теорема 2.5. Если сравнению ах = 1 (mod р) (2.20) удовлетворяет некоторое число то этому сравнению удовлетворяет и число &5, где k — целое число. Доказательство. Согласно условию теоремы справед- ливо сравнение а$ = 1 (mod р). Умножив это сравнение само на себя k раз, получим сравнение а£а$.. ,а% = 1 (modр) или aft5 = 1 (modр), k раз составляющее утверждение теоремы. Ранее было показано (малая теорема Ферма), что срав- нению (2.20) всегда удовлетворяет число р — 1. В общем случае сравнение (2.20) может иметь, в зависи- мости от значений аир, самое различное число решений. В том особом случае, когда аир таковы, что сравнение имеет только одно решение | = р — 1, число а называется первообразным корнем числа р. Далеко не всякое число р имеет первообразный корень. Точно так же нет каких-либо формул (за исключением некоторых р специального вида, для которых такого рода формулы установлены в работах П. Л. Чебышева), которые выражали бы величину первообразного корня в случае, когда он существует в зависимости от р. Нахождение перво- образного корня проводится в подавляющем большинстве случаев простым перебором чисел из последовательно- сти (2.8). Рассмотрим пример нахождения первообразного корня. Пример. Найти первообразные корни числа р = 7. По теореме Ферма сравнению (2.13) удовлетворяет х = 6. Испытание числа а=2. 21 = 2 (mod 7); 22 = 4 (mod 7), 23 = 1 (mod 7); 2* ~ 2 (mod 7); 2® = 4 (mod 7); 2» = 1 (mod 7), 50
t. e. сравнение 2х = 1 (mod 7) имеет решение х = 3 помимо х = 6. Следовательно, 2 не является первообразным корнем. Испытание числа а = 3. Зг = 3’(mod 7); 32= 2 (mod 7); 33== == 6 (mod 7); З4 = 4 (mod 7); 3* = 5 (mod 7); З6 = 1 (mod 7). Итак, только 6 удовлетворяет сравнению 3х = 1 (mod 7), т. е. 3 является первообразным корнем числа 7. Испытание числа а = 4. 41 = 4 (mod 7); 42 == 2 (mod 7); 43 = 1 (mod 7); 44 = 4 (mod 7); 4* = 2 (mod 7); 46 == 1 (mod 7); x = 3 является решением сравнения 4х == 1 (mod 7) помимо числа х — 6. Число 4 не является первообразным корнем числа 7. Испытание числа а — 5. 51 == 5(mod 7); 52 == = 4 (mod 7); 53 = 6 (mod 7); 54 = 2,(mod 7); 5* =я3 (mod 7); 56 == 1 (mod 7). Сравнение 5х == 1 (mod 7) имеет единственное реше- ние х — 6. Следовательно, 5 — первообразный корень числа 7. Испытание числа а —6. б1 = 6 (mod 7); б2 = 1 (mod 7); б3 = 6 (mod 7); б1 = 1 (mod 7); 6& ~ 6 (mod 7); 66 = 1 (mod 7). Очевидно, 6 не является первообразным корнем числа 7. Проведенными испытаниями мы вычислили все первообраз- ные корни числа 7, а именно, 3 и 5. Теорема 2.6. Если сравнению ах = 1 (mod р) при р простом и а некратном р удовлетворяет число £, то ему удовлетворяет и число d, являющееся наибольшим общим делителем чисел £ и р — 1. Доказательство. Для доказательства теоремы устано- вим следующие факты. Если d — наибольший общий дели- тель чисел £ и р — 1, то числа А = и В = __ вза_ ' а а имно простые числа. Далее, если г<р и взаимно про- стое с р, то для любого tn<zp существует такое km<zp, что kmr = tn (mod р). (2.21) Действительно, в последовательности г, 2г, ..., kYr, k2r, ..., (р— 1)г (2.22) нет таких чисел ki и k2, чтобы одновременно выполнялись сравнения kj т (mod /?); k2r - tn (mod /?). Если бы оба сравнения выполнялись, то должно было бы выполняться и сравнение (ki — k2)r = 0 (mod р). Но это невозможно, так как ki — k2 не делится на р и г взаимно простое с р. Следовательно, для каждого из (р — 1) чисел последовательности (2.22) удовлетворяется сравнение kir = i (mod р) 4* 51
для различных чисел i, где i = 1, 2, . . ., т, . . ., р — 1, а среди них имеется kmr, для которого удовлетворяется сравнение (2.21). Из установленного факта следует, что если А и В —два взаимно простых числа, то всегда можно подобрать два таких числа s и t, что sA-tB = 1. Действительно, так как А и В взаимно простые, то, положив А < В, можно на основании (2.21) написать sA~m (mod В). Переход к равенству, эквивалентному этому сравне- нию, дает sA — tB-\-m, которое справедливо для любого т, в частности для tn = 1. Итак, имеет место равенство или sg—t (р— 1) = d. Из исходного сравнения теоремы следует а6^= 1 (mod р), а* (р-1) = 1 (mod р), а после деления первого сравнения на второе приходим к сравнению ad = 1 (mod р), составляющему утверждение теоремы. Эту теорему легко распространить и на общий случай: если £ и г] —любые два решения сравнения ах == 1 (mod р), где р —простое число и а не кратно р, то этому сравне- нию удовлетворяет и их наибольший общий делитель. Теорема 2.7. Пусть а —наименьшее число, удовлетво- ряющее сравнению ах - 1 (mod р) при простом р и а, некратном р. Тогда а является делите- лем числа р — 1 и все остальные числа, удовлетворяющие исходному сравнению, являются кратными а. 52
Доказательство. Пусть £ — любое решение данного сравнения. По предыдущей теореме этому сравнению должен удовлетворять наибольший общий делитель чисел а и Нов этом случае должно быть d<a. Между тем a — наименьшее из чисел, удовлетворяющих этому срав- нению, и неравенство d < а невозможно. Стало быть, d = а, т. е. является делителем любого решения сравне- ния, в том числе и р — 1. Теорема 2.8. Если сравнению ах = A (mod р), (2.23) где р — простое число и А взаимно просто с а, удовлетворяет число 0, а число а —наименьшее, удов- летворяющее сравнению ах - 1 (modp), р — 1 то исходному сравнению удовлетворяют чисел, а именно: x = P(modp — 1); х = P + a (modр— 1); х== p + 2a(modp— 1);... (2.24) х~ Р + *) a] (modp— 1). Доказательство. Исходя из условий теоремы, можно написать сравнения а₽^Л(тобр), ana = j (тос| р), где п — целое число. Перемножив эти сравнения, получим a3+na = / (mod р), т. е. число 0-J-na при любом п удовлетворяет сравне- нию (2.23). Общая формула для х может быть записана в виде x = 0-|-na. (2.25) Согласно доказанной ранее теореме, если сравнению удов- летворяет какое-либо число 0, то ему удовлетворяет и вся- кое число, сравнимое с 0 по модулю р — 1. Иначе говоря, последовательность чисел, получающаяся из (2.25) при различных возможных значениях п, должна состоять из 53
чисел, сравнимых между собой по модулю р — 1. Посколь- ку а — делитель р — 1, то в указанной последовательности будут получаться числа, сравнимые между собой по модулю р — 1, когда различные значения п будут сравнимы между собой по модулю . Пусть nt и tij суть два таких зна- чения п. Тогда имеет место сравнение Р 4- П;а = Р + п^а (mod р — 1) или пга = п^а (tnodp— 1). Здесь, сократив сравнение на а, получим щ = n.j (mod^-^ . Но по модулю все числа сравнимы с любым из сле- дующих чисел О, 1, 2..., --1. а Следовательно, все решения сравнения (2.23) будут сравнимы по модулю р — 1 с любым из чиселJ Р, р + а, р + 2а, ..., р+ (^- 1) а, что и утверждается в теореме. К более эффективному алгоритму определения перво- образных корней, нежели испытание всех возможных оснований, может привести следующая теорема. Теорема 2.9. Пусть зт2, . . зтг — простые делите- ли числа р — 1. Тогда необходимым и достаточным усло- вием того, что q есть первообразный корень простого числа р, является невыполнение ни одного из сравнений р— 1 р—1 q == 1 (mod р), б? я2 == 1 (mod р), .. ., 7^=1 (mod р). (2.26) Доказательство. Необходимость этого условия оче- видна, ибо выполнение хотя бы одного из этих сравнений означало бы, что сравнение qx = 1 (mod р) имеет решение помимо х = р—1, что противоречит опре- делению первообразного корня. 54
Покажем теперь достаточность этих условий. Допустим, что кроме решения х = р — 1 существует еще какое-то решение сравнения qx == 1 (mod р) х = %, причем %<.р— 1 и в то же время не совпадает ни с одним из показателей степени при q, фигурирующих в (2.26). Если это решение наименьшее, то оно должно делить р— 1 Если |1 — простое число, то р, = и, следовательно, g = P —1 Л j т. е. £ является решением одного из сравнений (2.26), что противоречит сделанному предположению. Если р — не простой делитель числа р 1, то он может быть представлен в виде р, = Л/'б’, где лj — простой делитель числа р — 1, и J и I Предположение, что £ является решением сравнения (2.20), влечет за собой выполнение сравнения р-1 ql® = qni =1 (mod р), и опять приходим к противоречию. Если < р — 1 — любое решение сравнения qx s 1 (mod р), то существует наименьшее решение а < р—1, которое делит В (£ = at), причем для а выполняется обязательно одно из сравнений (2.26), что показано выше. Таким обра- зом, и в этом случае мы пришли к противоречию. Следовательно, предположение £ < р — 1 недопустимо и сравнение (2.20) может иметь только одно решение х = р — 1, т. е. q является первообразным корнем чис- ла р. Из этой теоремы вытекает, что для вычисления перво- образных корней надо испытывать основания только на невыполнение условий (2.26). 55
Пример. Вычислить первообразные корни числа р — 7. Здесь р — 1 —6. Простые делители р — 1 суть jq = 2, л2 = 3. Система сравнений (2.26) принимает вид q2 = 1 (mod 7), q3 == 1 (mod 7). Испытание основания а = 2. 22 == 4 (mod 7); 23 = 1 (mod 7). 2 не является первообразным корнем числа 7. Испытание основания а = 3. З2 = 2 (mod 7); З3 == 6 (mod 7). 3 — первообразный корень числа 7. Испытание основания а = 4. 42 = 2 (mod 7); 43 = 1 (mod 7). 4 не является первообразным корнем числа 7. Испытание основания а — 5. 52 = 4 (mod 7)^ 53 = 6 (mod 7). 5 — первообразный корень числа 7. Испытание основания а = 6. 62 == 1 (mod 7); 63 = 6 (mod 7). 6 не является первообразным корнем числа 7. Итак, опираясь на данную теорему, получаем первообразные корни числа 7 более простым способом, чем ранее. § 2.4. ТЕОРИЯ ИНДЕКСОВ Теорема 2.10. Если (/ — первообразный корень числа р, то сравнение qx === A (mod р), (2.27) где А не кратно р, имеет одно и только одно решение. Доказательство. Согласно определению первообраз- ного корня для сравнения qx == 1 (mod р) наименьшее значение х, ему удовлетворяющее, есть х = р— 1. Сравнение (2.27) может иметь только одно решение, поскольку — 1 = 1 =0, или вообще не иметь ни одного решения. Теорема утверждает, что такое решение есть. Следовательно, доказательство тео- ремы сводится к доказательству того, что сравнение (2.27) не может не иметь решения. Допустим, что (2.27) не имеет решения. Так как А по условию не кратно р, то А при делении на р дает в остатке какое-либо из чисел 1, 2, .... р-1. (2.28) Пусть это будет число г, т. е. А == г (mod р). Тогда получаем сравнение qx = г (mod р), (2.29) 56
которое также не имеет решения, ибо иначе имело бы решение и (2.27). Но так как q — взаимно простое с р число, то qQi q\ q\ • i qv~* не делятся на р и, следовательно, каждое из них ио модулю р сравнимо с одним из чисел (2.28). Отсюда следует, что каждое из р—-1 чисел О, 1,2,... р-2 (2.30) удовлетворяет какому-либо из сравнений 9x==l(modp), gx = 2(modp), ... (2.31) ..., qx == р — 1 (mod р). Между тем какое-то из них есть сравнение (2.29), кото- рое, по предположению, не имеет решения. Следовательно, каждое из р — 1 чисел (2.30) должно удовлетворять какому- либо из р — 2 сравнений (2.31), т. е. по крайней мере какому-либо одному из них должны удовлетворять два числа из (2.30). Иначе говоря, должно существовать такое сравнение qx = p(mod р), которое имеет два решения. А это невозможно, ибо ранее было показано, что если сравнение (2.27) имеет решение, то только одно. Следовательно, сравнение (2.29) обязано иметь решение, а с ним имеет решение и сравнение (2.27). Определение. Число J, являющееся решением срав- нения qx = A (mod р), называется индексом числа А и обозначается J = ind А. Первообразный корень q называется основанием индекса. Из изложенного следует, что для нахождения индекса какого-либо числа А по модулю р надо найти первообраз- ный корень р и затем найти решение этого сравнения для данного первообразного корня. Приведем пример вычисления индексов чисел, исполь- зуя при этом вычисленные в предыдущем параграфе перво- образные корни. Пример. Вычислить индексы по модулю 7 чисел 0, 1, 2, 3, 4, 5, 6. Первообразные корни числа 7 суть 3 и 5. Примем основание q = 3. Вычислим 3х для х = 0, 1, 2, 3, 4, 5, 6. 3° = 1 (mod 7); З1 == 3 (mod 7); З2 = 2 (mod 7); З3 = 6 (mod 7); З4 == 4 (mod 7); З5 == 5 (mod 7);. З6 = 1 (mod 7). 57
Из этих сравнений следует: ind 1 = 0; ind 2 = 2; ind 3 = 1; ind 4 = 4; ind 5 = 5; ind 6 = 3. Аналогично найдем индексы этих чисел по основанию 5: ind 1=0; ind 2 = 4; ind 3 = 5; ind 4 = 2; ind 5=1; ind 6 = 3. Установим теперь некоторые свойства индексов, опреде- ляющие возможность их использования в машинной ариф- метике, при представлении чисел в системе остаточных классов. Теорема 2.11. Если Л1, Л2, ..., Ак суть целые положительные числа, индексы которых по модулю р при первообразном корне q соответственно равны ^*2? • • • i и если через J обозначен индекс произведения этих чисел . Л = AiA2... Лд по модулю р при том же первообразном корне q, то индекс произведения равен сумме индексов сомножителей, взятой по модулю р—1, т. е. k J= 3 O(modp-l). (2.32) 3=1 Доказательство. В соответствии с определением индек- сов имеют место сравнения qil = Ai (mod р), q^ = Л2(тобр), q^ == Ak (mod p). Перемножив эти сравнения, получим = Л(то(1 Р) или, учитывая введенный индекс J числа А, gn+’2+- ••+»* = q.7 (moc| ру Деля обе части сравнения на , получим сравнение ^i+h+. • = j (mod р) (2.33) Так как q — первообразный корень числа р, то все реше- ния сравнения (2.33) будут кратны р — 1. Иначе говоря, Ч Н- ik — 3 = 0 (mod р — 1). Это сравнение может быть переписано в виде (2.32). В развернутом виде доказанное сравнение может быть 58
записано следующим образом: ind (AiA2... Ak) == ind Л’ (mod p — 1). (2.34) Иначе говоря, индекс произведения равен сумме индексов сомножителей по модулю р — 1. § 2.5. ПРИМЕНЕНИЕ ИНДЕКСОВ ДЛЯ ВЫПОЛ- НЕНИЯ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ Рассмотренная в предыдущем разделе особенность индексов роднит их с логарифмами и позволяет заменять умножение чисел и возведение в степень сложением их индексов с последующим переходом от индекса произведе- ния и степени к самому произведению и степени. Для пере- хода от индекса к фактическому числу применяются анти- индексы. Определение. Антииндексом числа J называется число а такое, что J = ind а или a = ind"1J. (2.35) Если антииндекс обозначить через N (J), то из (2.35) следует N (ind а) = а. (2.36) Для того чтобы иметь возможность использовать для целей умножения соотношение (2.32), надо вычислить антиин- дсксы чисел. Это легко достигается, коль скоро имеются вычисленные индексы чисел, соответствующим обращением таблицы индексов на основании выражения . (2.36). Пример. Вычислить антииндексы по модулю 7 чисел 0, 1, 2, 3, 4, 5. В предыдущем примере приведены индексы чисел от 1 до 6. Их значения оказываются в пределах последовательности 0, 1, 2, 3, 4, 5. Естественно, что число 0 не может иметь конечного индек- са, поскольку нет такого показателя степени, возведя в которую конечное, отличное от нуля, основание можно было бы получить 0. Первообразный корень 3. N (0) = 1; N (1) = 3; А (2) = 2; N (3) = 6; N (4) = 4; N (5) = 5. Первообразный корень 5. А (0) = 1; А (1) = 5; N (2) = 4; А (3) = 6; А (4) = 2; А (5) = 3. Соотношение (2.34) может применяться и для выпол- нения деления по модулю. Под делением по модулю (mod р) понимается частное a+kp ? где k — наименьшее из возможных чисел, превращающих a-\-kp в число, 59
кратное b. В этом случае, если ~ (mod р) = с, (ind а — ind b) (modp — 1) = ind с. (2.37) Применением индексов можно вычислять и более слож- ные выражения, включающие операции умножения, воз- ведения в степень, деления. Пример. Вычислить выражение аЬ3 . , ч c=w(modp)’ где а = 2; b = 5; k = 3; d = 4; р~7. 1. Находим индексы величин, входящих в вычисляемое выраже- ние, приняв первообразный корень 5: ind 2 = 4; ind 5=1; ind 3 = 5; ind 4 = 2. 2. Вычисляем индекс результата ind с = 4 + 3 —10 — 2 (mod 6), indc=l. 3. Находим антииндекс 1: W(l) = 5. Непосредственное вычисле- ние показывает, что 2-53 c==^2Tr(mod 7) = 5- § 2.6. ТАБЛИЦЫ ИНДЕКСОВ ДЛЯ ПРОСТЫХ ОСНОВАНИЙ В системе остаточных классов предполагается приме- нять индексы для получения цифр произведения чисел по каждому .из оснований в отдельности. Хотя теория индек- сов может быть применена и для сложных модулей и фор- мула (2.34) может при надлежащем выборе сложного моду- ля, обеспечивающего наличие первообразного корня, иметь место для перемножаемых чисел в целом, однако для сфор- мулированной цели применения индексов достаточно рас- сматривать индексы отдельно по модулям — основаниям выбранной системы. В этом случае нетрудно выбрать эти основания такими, чтобы для них первообразные корни существовали и, следовательно, могли бы быть построены таблицы индексов. Для любого простого модуля перво- образный корень всегда существует, и поэтому, если в каче- стве оснований системы использовать простые числа (что, вообще говоря, является целесообразным и в других отно- шениях), то удовлетворяется как основное требование одно- значности представления чисел — взаимная простота осно- 60
ваний системы, так и условие существования первообразных корней и, следовательно, возможность построения соот- ветствующих таблиц индексов. Далее приводятся таблицы индексов для простых чисел, записываемых не более чем шестью двоичными разрядами. Поскольку для схемной реализации тот или иной характер связей, отражающих табличное соответствие, может ока- заться более приемлемым, приведем таблицы индексов для некоторых первообразных корней, хотя реализована должна быть для каждого основания таблица только по одному какому-либо первообразному корню. Основание Основание Основание 61
Основание р=1? индексы ^<7 3 5 6 7 10 11 12 14 0 1 0 0 0 0 0 0 0 0 2 14 6 2 10 10 2 6 14 3 1 13 15 3 11 7 5 9 4 12 12 4 4 4 4 12 12 5 5 1 11 15 7 3 9 13 G 15 3 1 13 5 9 И 7 7 11 15 5 1 9 13 7 3 8 10 2 6 14 14 6 2 10 9 2 10 14 6 6 14 10 2 10 3 7 13 9 1 5 15 11 11 7 11 9 5 13 1 3 15 12 13 9 3 7 15 11 1 5 13 4 4 12 12 12 12 4 4 14 9 5 7 11 3 15 13 1 15 6 14 10 2 2 10 14 6 16 8 8 8 8 8 8 8 8 Основание р = 19 индексы СТ 2 3 10 13 14 15 0 1 0 0 0 0 0 0 2 1 7 17 11 13 5 3 13 1 5 17 7 11 4 2 14 16 4 8 10 5 16 4 2 14 10 8 6 14 2 4 10 2 16 7 6 6 12 12 6 12 8 3 3 15 15 3 15 9 8 2 10 16 14 4 10 15 11 1 7 5 13 11 12 12 6 6 12 6 12 15 15 3 3 15 3 13 5 17 13 1 11 7 14 7 13 11 5 1 17 15 И 5 7 13 17 1 16 4 10 14 8 16 2 17 10 16 8 2 4 14 18 9 9 9 9 9 9 62
Основание р = 23 индексы Z7 5 7 10 11 14 15 17 19 20 21 0 1 0 0 0 0 0 0 0 0 0 0 2 2 14 8 10 20 4 16 6 18 12 3 16 2 20 14 6 10 18 4 12 8 4 4 6 16 20 18 8 10 12 14 2 5 1 7 15 5 21 13 19 3 9 17 6 18 16 6 2 4 14 12 10 8 20 7 19 1 21 7 3 5 9 13 17 15 8 6 20 2 8 16 12 4 18 10 14 9 10 4 18 6 12 20 14 8 2 16 10 3 21 1 15 19 17 13 9 5 7 11 9 19 3 1 13 7 17 5 15 21 12 20 8 14 12 2 18 6 16 4 10 13 14 10 12 4 8 6 2 20 16 18 14 21 15 7 17 1 9 3 19 13 5 15 17 9 13 19 5 1 15 7 21 3 16 8 12 10 18 14 16 20 2 6 4 17 7 5 17 13 15 3 1 21 19 9 18 12 18 4 6 10 2 8 14 20 6 19 15 17 5 9 7 19 21 1 3 13 20 5 13 9 3 17 21 7 15 1 19 21 13 3 19 21 9 15 5 17 7 1 22 11 11 11 11 11 11 И 11 11 11 Основание р = 29 индексы «7 \ q 2 3 8 10 11 14 15 18 19 21 26 27 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 1 17 19 11 9 13 27 23 25 5 3 15 3 5 1 11 27 17 9 23 3 13 25 15 19 4 2 6 10 22 18 26 26 18 22 10 6 2 5 22 10 26 18 2 6 6 2 18 26 10 22 6 6 18 2 10 26 22 22 26 10 2 18 6 7 12 8 4 20 24 16 16 24 20 4 8 12 8 3 23 1 5 27 11 25 13 19 15 9 17 9 10 2 22 26 6 18 18 6 26 22 2 10 10 23 27 17 1 11 19 5 25 15 3 13 9 63
Продолжение «7 q 2 3 8 10 И 14 15 18 19 21 26 27 н 25 5 27 23 1 17 3 15 9 13 19 11 12 7 7 21 21 7 7 21 21 7 7 21 21 13 18 26 6 2 22 10 10 22 2 6 26 18 14 13 25 23 3 5 1 15 19 17 9 11 27 15 27 11 9 17 19 15 1 5 3 23 25 13 16 4 12 20 16 8 24 24 8 16 20 12 4 17 21 21 7 7 21 21 7 7 21 21 7 7 18 11 19 13 9 15 3 17 1 23 27 5 25 19 9 13 3 15 25 5 19 11 1 17 27 23 20 24 16 8 12 20 4 4 20 12 8 16 24 21 17 9 15 19 13 25 11 27 5 1 23 3 22 26 22 18 6 10 2 2 10 6 18 22 26 23 20 4 16 24 12 8 8 12 24 16 4 20 24 8 24 12 4 16 20 20 16 4 12 24 8 25 16 20 14 8 4 12 12 4 8 24 20 16 26 19 15 25 13 3 23 9 17 27 11 1 5 27 15 3 5 25 23 27 13 9 11 19 17 1 28 14 14 14 14 14 14 14 14 14 14 14 14 Основание р = 31 индексы Z7 q 3 11 12 13 17 21 22 24 0 1 0 0 0 0 0 0 0 0 2 24 18 6 24 12 6 12 18 3 1 17 19 И 13 29 23 7 4 18 6 12 18 24 12 24 6 5 20 10 20 10 20 10 10 20 6 25 5 25 5 25 5 5 25 7 28 26 22 8 4 2 14 16 8 12 24 18 12 6 18 6 24 9 2 4 8 22 26 28 16 14 10 14 28 26 4 2 16 22 8 11 23 1 17 13 29 7 19 11 12 19 23 1 29 7 11 17 13 13 11 7 29 1 23 19 13 17 14 22 14 28 2 16 8 26 4 15 21 27 9 21 3 9 3 27 16 6 12 24 6 18 24 18 12 64
Продолжение Z7 я 3 11 12 13 17 21 22 24 17 7 29 13 17 1 23 11 19 18 26 22 14 16 8 4 28 2 19 4 8 16 14 22 26 2 28 20 8 16 2 28 14 22 4 26 21 29 13 И 19 17 1 7 23 22 17 19 23 7 И 13 1 29 23 27 9 3 27 21 3 21 9 24 13 11 7 23 19 17 29 1 25 10 20 10 20 10 20 20 10 26 5 25 5 25 5 25 25 5 27 3 21 27 3 9 27 9 21 28 16 2 4 26 28 14 8 22 29 9 3 21 9 27 21 27 3 30 15 15 15 15 15 15 15 15 Основание р — 37 индексы Z7 Я 2 5 13 15 17 18 19 20 22 24 32 0 1 0 0 0 0 0 0 0 0 0 0 0 2 1 11 23 25 31 17 35 13 7 5 29 3 26 34 22 2 14 10 10 14 2 22 34 4 2 22 10 14 26 34 34 26 14 10 22 5 23 2 25 35 29 31 13 И 17 7 19 6 27 9 9 27 9 27 9 27 9 27 27 7 32 28 16 8 20 4 4 20 8 16 28 8 3 33 33 3 21 15 33 3 21 15 15 9 16 32 8 4 28 20 20 28 4 8 32 10 24 12 12 24 24 12 12 24 24 12 12 11 30 6 6 30 30 6 6 30 30 6 6 12 28 20 32 16 4 8 8 4 16 32 20 13 11 13 1 23 17 7 25 35 5 19 31 14 33 3 3 33 15 21 3 33 15 21 21 15 13 35 11 1 7 5 23 25 19 29 17 16 4 8 20 28 16 32 32 16 28 20 8 17 7 5 17 31 1 И 29 19 13 35 23 18 17 7 31 29 23 1 19 5 11 13 25 19 35 25 13 И 5 19 1 23 29 31 7 20 25 23 35 13 19 29 11 1 31 17 5 21 22 26 2 10 34 14 14 34 10 2 26 b l.'Hi!) 65
Продолжение 2 5 13 15 17 18 19 20 22 24 32 22 31 17 29 19 25 23 5 7 1 11 35 23 15 21 21 15 33 3 21 15 33 3 3 24 29 31 19 5 35 25 7 17 23 1 13 25 10 2 14 34 22 26 26 22 34 14 2 26 12 24 24 12 12 24 24 12 12 14 24 27 6 30 30 6 6 30 30 6 6 30 30 28 34 14 26 22 10 2 2 10 22 26 14 29 21 15 15 21 3 33 15 21 3 33 33 30 14 10 34 26 2 22 22 2 26 34 10 31 9 27 27 9 27 9 27 9 27 9 9 32 5 19 7 17 И 13 31 29 35 25 1 33 20 4 28 32 8 16 16 8 32 28 4 34 8 16 4 20 32 28 28 32 20 4 16 35 19 29 5 7 13 35 17 31 25 23 11 36 18 18 18 18 18 18 18 18 18 18 18 Основание р = 41 индексы <7 \ Я 6 7 11 12 13 15 17 19 22 24 26 28 29 30 34 35 0 1 0 0 0 0 0 0 0 000000000 2 26 14 22 38 6 38 2 34 34 33 38 6 38 22 14 26 3 15 25 5 5 25 35 15 15 35 35 15 5 25 25 5 35 4 12 28 4 36 12 36 4 28 28 4 36 12 36 4 28 12 5 22 18 34 26 2 6 14 38 38 14 6 2 26 34 18 22 6 1 39 27 3 31 13 17 9 29 37 33 11 23 7 19 21 7 32 1 13 37 9 27 23 31 11 3 7 29 17 33 21 19 8 38 2 26 34 18 14 6 22 22 6 14 18 34 26 2 38 9 30 10 10 10 10 30 30 30 30 30 30 10 10 10 10 30 10 8 32 16 24 8 24 16 32 32 16 24 8 24 16 32 8 И 3 37 1 9 13 39 11 27 7 31 19 33 29 21 17 23 12 27 13 9 1 37 31 19 3 23 39 11 17 21 29 33 7 13 31 9 37 13 1 3 7 39 19 27 23 21 33 17 29 11 14 25 15 35 23 15 5 25 25 5 5 25 35 15 15 35 5 15 37 3 39 31 27 1 29 13 33 9 21 7 11 19 23 17 16 24 16 8 32 24 32 8 16 16 8 32 24 32 8 16 24 17 33 7 И 7 23 29 1 17 37 21 9 3 39 31 27 13 18 16 24 32 8 16 8 32 24 24 32 8 16 8 32 24 16 19 9 31 3 27 39 37 33 1 21 13 17 19 7 23 11 29 66
Продолжение у q 6 7 11 12 13 15 17 19 22 24 26 28 29 30 34 35 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 34 6 38 22 14 2 18 26 26 18 2 14 22 38 6 34 14 26 18 2 34 22 38 6 6 38 22 34 2 18 25 14 29 11 23 7 19 17 13 21 1 33 37 39 27 3 31 9 36 4 12 28 36 28 12 4 4 12 28 36 28 12 4 36 13 12 31 27 3 9 21 37 17 1 29 23 19 11 7 33 4 36 28 12 4 12 28 36 36 28 12 4 12 28 36 4 17 23 19 17 7 21 9 33 13 29 1 27 31 39 3 37 5 35 15 15 35 25 5 5 25 25 5 15 35 35 15 25 11 29 17 33 21 23 27 19 39 7 3 1 13 37 9 31 7 33 29 21 17 11 39 23 3 19 31 37 1 9 13 27 23 26 21 29 33 19 31 7 27 11 39 13 9 1 37 3 28 12 36 4 28 4 36 12 12 36 4 28 4 36 12 28 10 30 30 30 30 10 10 10 10 10 10 30 30 30 30 10 18 22 6 14 38 34 26 2 2 26 34 38 14 6 22 18 19 21 33 17 29 7 3 11 31 23 27 9 37 13 1 39 21 19 7 23 11 33 37 29 9 17 13 31 3 27 39 1 2 38 14 6 22 26 34 18 18 34 26 22 6 14 38 2 32 8 24 16 32 16 24 8 8 24 16 32 16 24 8 32 35 5 25 25 5 15 35 35 15 15 35 25 5 5 25 15 6 34 2 18 26 18 22 14 14 22 18 26 18 2 34 6 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Основание р = 43 индексы «7 q 3 5 12 18 19 20 26 28 29 30 33 34 1 0 0 0 0 0 0 0 0 0 0 0 0 2 27 33 15 27 33 3 9 39 15 33 9 3 3 1 37 13 29 31 25 5 17 41 23 19 11 4 12 24 30 12 36 6 18 36 30 24 18 6 5 25 1 31 11 19 37 41 5 1-7__29 13 23 6 28 28 28 14 28 28 14 14 14 14 28 14 7 35 35 35 7 35 35 7 7 7 7 35 7 8 39 15 3 39 33 9 27 33 3 15 27 9 9 2 32 26 16 20 8 10 34 40 4 38 22 10 10 34 4 38 16 40 8 2 32 20 22 26 11 30 18 12 30 6 36 24 6 12 18 24 36 12 13 19 1 41 25 31 23 11 29 5 37 17 13 32 8 28 4 26 2 34 40 10 22 20 16 14 20 26 8 34 32 38 16 4 22 40 2 10 5* 67
Продолжение «7 я 3 5 12 18 19 20 26 28 29 30 33 34 15 26 38 2 40 8 20 4 22 16 10 32 34 16 24 6 18 24 30 12 36 30 18 6 36 12 17 38 20 32 10 2 26 22 16 4 34 8 40 18 29 23 41 1 17 11 19 31 13 37 5 25 19 19 31 37 15 1 13 И 29 23 17 25 41 20 37 25 19 23 13 1 17 41 5 11 31 29 21 36 30 6 36 24 18 12 24 6 30 12 18 22 15 9 27 15 3 39 33 3 27 9 33 39 23 16 4 40 2 34 22 38 20 26 32 10 8 24 40 10 16 26 22 34 32 8 2 38 4 20 25 8 2 20 22 38 32 40 10 34 16 26 4 26 17 41 11 31 23 5 1 37 25 13 29 19 27 3 27 39 3 9 33 15 9 39 27 15 33 28 5 17 23 19 29 41 25 1 37 31 11 13 29 41 5 29 13 11 17 37 25 1 19 23 31 30 11 29 17 25 5 23 13 19 31 1 41 37 31 34 40 22 20 4 10 2 32 8 26 16 38 32 9 39 33 9 27 15 3 27 33 39 3 15 33 31 13 25 17 37 19 29 23 11 41 1 5 34 23 11 5 37 41 29 31 13 19 25 17 1 35 18 36 24 18 12 30 6 12 24 36 6 30 36 14 14 14 28 14 14 28 28 28 28 14 28 37 7 7 7 35 7 7 35 35 35 35 7 35 38 4 22 10 32 40 16 20 26 38 8 34 2 39 33 3 9 33 15 27 39 15 9 3 39 27 40 22 16 34 8 10 4 26 38 20 2 40 32 41 6 12 36 6 18 24 30 18 36 12 30 24 42 21 21 21 21 21 21 21 21 21 21 21 21 68
индексы Я 5 10 11 13 15 19 20 22 23 26 29 31 33 35 38 39 40 41 43 44 45 и 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 18 30 42 10 14 28 44 32 22 26 36 6 16 34 20 8 2 38 12 40 24 3 20 18 16 6 36 26 8 10 4 34 40 22 28 2 12 14 38 32 44 24 42 4 36 14 38 20 28 10 42 18 44 6 26 12 32 22 40 16 4 30 24 34 2 5 1 17 33 21 11 45 5 35 37 27 25 31 29 7 19 3 41 43 39 15 9 6 38 2 12 16 4 8 6 42 26 14 30 28 44 36 32 22 40 24 10 18 20 7 32 38 44 28 30 14 22 16 34 36 18 26 8 40 10 4 24 42 6 20 12 8 8 44 34 30 42 38 40 4 20 32 16 18 2 10 14 24 6 22 36 28 26 9 40 36 32 12 26 6 16 20 8 22 34 44 10 4 24 28 30 18 42 2 38 10 19 1 29 31 25 27 3 21 13 7 15 37 45 41 39 11 43 35 5 9 33 11 7 27 1 9 31 39 35 15 29 5 37 33 19 3 41 21 11 25 43 13 17 12 10 32 8 26 18 36 4 28 2 40 20 34 14 24 6 30 42 16 22 12 44 13 И 3 41 1 29 35 9 17 39 21 45 19 43 31 25 33 37 13 15 27 7 14 4 22 40 38 44 42 20 2 10 16 8 32 24 28 30 12 26 34 18 14 36 15 21 35 3 27 1 25 13 45 41 15 19 7 11 9 31 17 33 29 37 39 5 16 26 28 30 40 10 20 38 36 42 12 6 24 18 44 34 32 8 14 2 22 4 17 16 42 22 14 38 30 34 8 40 18 32 36 4 20 28 2 12 44 26 10 6 18 12 20 28 22 40 34 14 6 30 2 24 4 26 38 44 36 32 10 8 42 16 19 45 29 13 25 35 1 41 11 9 19 21 15 17 39 27 43 5 3 7 31 37 20 37 31 25 41 39 9 1 7 35 33 5 43 15 29 13 19 45 27 17 3 И 21 6 10 14 34 20 40 30 26 38 24 12 2 36 42 22 18 16 28 4 44 8 22 25 И 43 19 45 21 33 1 5 31 27 39 35 37 15 29 13 17 9 7 41
о П родолжение Я 5 10 11 13 15 19 20 22 23 26 29 31 33 35 38 39 40 41 43 44 45 23 5 39 27 13 9 41 25 37 1 43 33 17 7 35 3 15 21 31 11 29 45 24 28 16 4 36 32 18 2 14 24 20 10 40 30 12 26 38 44 8 34 6 22 25 2 34 20 42 22 44 10 24 28 8 4 16 12 14 38 6 36 40 32 30 18 26 29 33 37 11 43 17 7 3 15 1 35 25 13 19 45 41 39 5 27 21 31 27 14 8 2 18 16 32 24 30 12 10 28 20 38 6 36 42 22 4 40 26 34 28 22 6 36 2 12 24 18 34 32 42 44 38 40 16 4 20 28 26 30 8 14 29 35 43 5 45 17 11 37 29 7 25 1 27 3 15 21 13 9 33 31 19 39 30 39 19 45 37 15 1 11 31 17 41 9 13 27 43 5 25 35 21 3 33 29 31 3 5 7 17 33 43 15 13 19 35 29 1 41 21 11 9 31 37 25 45 27 32 44 12 26 4 24 2 36 22 18 38 42 30 34 32 8 40 10 6 14 16 28 33 27 45 17 15 21 19 43 25 33 39 31 9 1 5 7 35 3 11 41 37 13 34 34 26 18 24 6 12 32 40 16 44 22 42 20 8 2 10 14 36 38 4 30 35 33 9 31 3 41 13 27 5 25 17 43 11 37 1 29 7 19 39 45 35 21 36 30 4 24 32 8 16 12 38 6 38 14 10 42 26 18 44 34 2 20 36 40 37 42 24 6 8 2 4 26 44 36 30 38 14 22 18 16 34 20 12 28 32 10 38 17 13 9 35 3 29 39 43 31 45 11 21 33 27 1 5 7 41 19 25 15 39 31 21 11 7 19 15 17 27 43 9 39 41 25 33 37 1 29 45 13 5 3 40 9 15 21 5 7 37 45 39 11 13 41 3 31 17 33 27 1 19 29 43 35 41 15 25 35 39 27 31 29 19 3 37 7 5 21 13 9 45 17 1 33 41 43 42 24 40 10 44 34 22 28 12 14 4 2 8 6 30 42 26 18 20 16 38 32 43 13 37 15 43 5 33 19 41 21 29 3 35 9 45 17 39 27 7 1 11 25 44 43 41 39 29 13 3 31 33 27 11 17 45 5 25 35 37 15 9 21 1 19 45 41 7 19 33 37 5 21 9 45 3 13 29 39 11 43 31 25 15 35 17 1 46 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23
Основание р = 53 индексы 2 3 5 8 12 14 18 19 20 21 22 26 27 31 32 33 34 35 39 41 45 48 50 51 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 « 31 3? ,? П £ ,? 4? 2? 5? 4? 2» 4» ,» 2» 3» з? » » 2» » « '111;? °? 1 i 1 i»»»««»О 2i s 1% s if2? 111 л»i7J J i»IH11«| s g « s it « 12 32 16 ’з 24 40 28 36 20 44 '2 '2 £ 38 6 22 50 30 10 46 14 '2 34 6 3 1? « Й if If g 4 4 2° 33 23 « 24 ,$ >» 32 12 43 j4 s 4 1 ?! 2f й а з! if i g a it s s ! Pi 1 «1 i 12 JO 8 4 28 32 36 20 48 44 24 40 40 24 -44 48 20 36 32 28 2S 10 12 g P™ нпннш 0 !НИ 1гиП!1! 0101141111 i i HI
ьо П родолжение Я 2 3 5 8 12 14 18 19 20 21 22 26 27 31 32 33 34 35 39 41 45 48 50 51 26 25 29 47 43 15 19 23 33 9 31 11 1 27 37 5 35 7 49 45 41 17 21 3 51 27 51 3 21 17 41 45 49 7 35 5 37 27 1 11 31 9 33 23 19 15 43 47 29 25 28 16 4 28 40 20 8 48 44 12 24 32 36 36 32 24 12 44 48 8 20 40 28 4 16 29 46 18 22 50 38 10 34 42 2 30 14 6 6 14 30 2 42 34 10 38 50 22 18 46 30 13 13 39 39 39 39 39 13 13 39 39 13 39 13 13 39 39 13 13 13 13 13 39 39 31 33 5 35 11 51 23 47 29 41 43 27 45 19 1 17 15 3 21 49 25 37 9 31 7 32 5 37 51 19 3 35 15 17 33 27 23 21 47 47 49 1 7 43 9 29 45 25 11 31 33 23 35 37 25 45 5 17 47 27 41 33 3 29 7 15 1 21 43 31 19 51 11 9 49 34 11 19 29 21 17 25 33 27 31 49 9 15 41 35 23 5 1 7 51 43 47 3 45 37 35 9 25 19 3 47 11 27 41 49 7 31 17 43 5 33 23 14 1 37 21 29 45 51 35 36 36 48 24 12 32 44 4 8 .40 28 20 16 16 20 28 40 8 4 44 32 12 24 48 36 37 30 14 46 10 18 2 38 50 42 6 34 22 22 34 6 42 50 38 2 18 10 46 14 30 38 38 42 34 30 2 6 10 46 22 18 50 14 14 50 18 22 46 10 6 2 30 34 42 38 39 41 33 23 31 35 27 19 25 21 3 43 37 11 17 29 47 51 45 1 9 5 49 7 15 40 50 6 42 34 30 38 46 14 18 10 22 2 2 22 10 18 14 46 38 30 34 42 6 50 41 45 21 43 15 27 3 31 49 37 35 51 33 7 25 9 11 23 5 29 1 41 17 47 19 42 32 8 4 28 40 16 44 36 24 48 12 20 20 12 48 24 36 44 16 40 28 4 8 31 43 22 38 6 42 34 50 14 2 10 46 18 30 30 18 46 10 2 14 50 34 42 6 38 22 44 8 28 40 20 36 4 24 48 32 12 16 44 44 10 12 32 48 24 4 36 20 40 28 8 45 29 17 15 27 7 47 35 5 25 11 19 49 23 45 37 51 31 9 21 33 1 41 43 3 46 40 36 44 48 24 20 16 32 4 8 28 12 12 28 8 4 32 16 20 24 48 44 36 40 47 44 24 12 32 16 48 28 4 20 40 36 8 8 36 40 20 4 28 48 16 32 12 24 44 48 21 41 27 7 23 43 11 9 45 51 3 5 31 29 25 19 35 37 17 49 33 1 15 47 49 28 20 36 44 48 40 32 12 8 16 4 24 24 4 16 8 12 32 40 48 44 36 20 28 50 43 27 33 49 5 41 25 11 3 45 21 35 9 47 19 29 37 51 15 31 23 7 1 17 51 27 23 5 9 37 33 29 19 43 21 41 51 25 15 47 17 45 3 7 11 35 31 49 1 52 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26
- . - Z. С. - .< с р = ОУ индексы ОО Z7 2 6 8 10 11 13 14 18 23 24 30 31 32 33 34 37 38 39 40 42 43 44 47 50 52 52 55 56 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 9 о 91 9 9 9 9 о о о 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Л Л л л кп S 7 49 55 27 31 23 37 45 35 41 17 19 3 11 13 37 51 43 53 9 21 5 15 47 50 26 36 32 2 14 24 16 42 48 8 46 10 30 38 22 34 28 12 52 56 4 40 44 6 18 54 30 2 п? 22 14 40 32 54 4 46 36 32 12 24 34 38 6 22 28 16 44 28 48 18 42 10 30 36 51 21 17 57 49 5 9? 1з }? ?з 57 qq Зк 14 44 56 18 8 20 48 16 26 28 54 10 30 32 50 1Я il I лл in i 21л an 13 7 33 45 3 55 41 37 39 25 31 49 47 35 53 27 23 11 19 3 41 1 17 21 31 49 93 35 1 55 to л? 4? 1? f? 5п о4 22 28 48 20 26 46 30 32 38 34 о 1 1/ 21 31 49 23 35 11 55 19 47 7 51 57 9 33 3Q 53 37 13 jq 07 ik. лк ок 42 32 J4 6 4 28 48 32 26 38 16 34 20 40 18 44 10 56 24 46 54 8 22 30 12 36 50 2 7 57 41 1 49 53 37 15 43 45 51 25 13 55 3 17 21 19 33 27 9 11 23 5 31 35 47 39 25 13 47 45 1 7 41 37 21 53 33 23 5 39 19 11 17 43 35 55 57 31 49 51 3 9 27 ?5 52 34 56 24 16 54 18 12 46 36 6 20 22 44 14 2 40 50 38 10 42 32 30 4 48 98 9fi 8 43 It 23 23 ’ 39 55 3 49 13 53 9 47 11 11 19 31 5 11 33 21 ^7 57 17 I? З? 27 кп оо Ч 7 3 1 49 9 3^ 39 43 27 23 33 I3 ^7 35 15 7 41 5 21 55 51 3? 53 23 54 лп л 44 I8 6 4 54 12 2 26 46 34 24 20 52 36 32 42 14 13 Ю 40 16 48 28 22 4 16 40 42 28 22 46 50 8 34 54 6 24 48 10 18 12 44 52 32 30 36 38 36 96 90 9 1л « 2? 1? У ?? fS й 3Ч g 88 1? „? Л 6 « 8 ‘ ” 3S “ ” ® » 20 й on 53 3 19 45 1 57 3 15 21 55 23 35 5 13 9 37 25 47 51 17 39 33 41 7 4Q 88 Q9 оо о? ?4 8 2 49 18 4 29 28 34 39 3 23 56 12 30 14 24 10 42 52 44 16 48 46 8 лп 44 34 42 16 10 50 12 48 38 20 36 24 30 46 6 2 54 18 14 52 40 4 28 26 46 28 12 8 5fi 38 3R 39 39 fn J о 54 16 30 52 14 22 46 25 8 32 36 50 34 6 o? 2? ,8 56 38 6 52 18 32 10 40 22 36 30 20 54 48 34 50 16 44 2 24 14 42 4 Й J 37 49 23 45 to 33 i 4 3 33 23 53 45 49 21 33 H " 41 19 2b 17 11 9 □3 9 37 49 23 45 15 39 19 1 5 7 57 27 31 21 43 3 51 47 35 17 25 13 11 33 41 55 4fi fn Л nn o2 34 24 44 46 18 14 28 30 54 36 16 40 38 32 52 56 50 20 2 6 42 46 10 54 48 32 50 36 24 34 14 12 40 44 30 28 4 22 42 18 20 26 6 2 8 38 56 59 18 io 22 | II 2t S L4 S IS S S 3S IS,844 88 88 48 8818 418 “ “ « » ZU 22 26 36 24 52 56 18 40 54 38 30 4 8 50 32 2 46 28 44 34 48 16 16 14 42 10 12
Продолжение 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 2 6 8 10 11 13 14 18 23 24 30 31 32 33 34 37 38 39 40 42 43 44 47 50 52 54 55 56 28 54 48 4 22 38 32 2 56 6 30 42 52 46 12 10 26 18 16 50 36 44 34 20 8 24 14 40 ‘ 57 25 19 33 51 9 3 31 27 35 1 13 8 17 41 39 55 47 45 21 7 15 5 49 37 53 43 И 49 51 55 7 53 23 27 47 И 25 9 1 33 37 21 3 31 17 57 15 5 19 45 35 43 13 39 41 5 49 21 9 35 13 43 19 39 57 53 51 1 31 27 37 15 55 7 11 23 41 33 45 47 25 17 3 17 39 25 19 3 21 7 53 5 43 41 11 15 1 57 33 51 13 47 49 55 35 31 37 9 27 23 45 41 19 33 39 55 37 51 5 53 15 17 47 43 57 1 25 7 45 11 9 3 23 27 21 49 31 35 13 24 38 8 20 52 16 44 10 48 30 34 36 28 56 2 50 14 32 22 18 6 46 54 42 40 4 12 26 44 2 34 56 18 10 42 28 30 26 14 8 32 6 52 24 16 20 50 4 40 36 12 48 54 46 22 38 55 17 57 41 37 27 9 35 23 47 3 39 11 51 7 1 49 25 19 5 21 45 15 31 53 43 13 33 39 11 13 47 41 55 57 9 49 27 19 15 31 33 25 45 1 23 43 51 17 53 37 3 7 21 5 35 37 3 51 55 27 15 5 13 45 39 21 41 19 9 49 7 53 1 17 35 31 25 47 43 23 11 33 57 9 7 3 51 5 35 31 11 47 33 49 57 25 21 37 55 27 41 1 43 53 39 13 23 15 45 19 17 14 56 24 2 40 48 16 30 28 32 44 50 26 52 6 34 42 38 8 54 18 22 46 10 4 12 36 20 11 15 23 43 19 17 25 7 51 21 47 31 37 45 13 35 33 5 27 1 39 9 3 41 57 55 49 53 33 45 11 13 57 51 17 21 37 5 25 35 53 19 39 47 41 15 23 3 1 27 9 7 55 49 31 43 27 21 9 37 15 47 35 33 25 41 31 55 17 5 53 49 23 7 3 13 43 1 39 И 45 19 57 51 48 18 16 40 46 32 30 20 38 2 10 14 56 54 4 42 28 6 44 36 12 34 50 26 22 8 24 52 16 6 44 52 54 30 10 26 32 20 42 24 38 18 40 14 48 2 34 12 4 50 36 28 46 22 8 56 23 5 27 53 45 25 47 41 17 7 35 49 51 15 43 31 11 21 9 39 13 3 1 33 19 57 55 37 54 42 18 16 30 36 12 8 50 24 4 52 34 10 48 40 46 14 6 26 28 2 20 22 32 38 56 44 36 28 12 30 20 24 8 44 14 16 22 54 42 26 32 47 50 48 4 56 38 40 52 34 2 6 18 10 13 23 43 35 33 57 19 3 55 9 45 5 49 11 47 15 39 27 53 17 25 37 51 1 41 7 21 31 32 12 30 46 50 2 20 52 6 40 26 48 18 36 22 28 38 4 10 34 8 42 14 56 34 44 16 54 47 43 35 15 39 41 33 51 7 37 11 27 21 13 45 23 25 53 31 57 19 49 55 18 1 3 9 5 22 30 46 28 38 34 50 14 44 42 36 4 16 32 26 12 8 10 54 2 20 18 6 24 56 52 40 48 35 53 31 5 13 33 11 17 41 51 23 9 7 43 15 27 47 37 49 19 45 55 57 25 39 1 3 21 31 37 49 21 43 11 23 25 33 17 27 3 41 53 5 9 35 51 55 45 15 57 19 47 13 39 1 7 21 35 7 3 31 43 53 45 13 19 37 17 39 49 9 51 5 57 41 23 27 33 11 15 35 47 25 1 30 4 10 54 36 20 26 56 2 52 28 16 6 12 46 48 32 40 42 8 22 14 24 38 50 34 44 18 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
Основание р = 61 индексы .7^ я 2 6 7 10 17 18 26 30 1 0 0 0 0 0 0 0 0 2 1 43 49 47 23 37 41 29 3 6 18 54 42 18 42 6 54 4 2 26 38 34 46 14 22 58 5 22 46 58 14 26 34 2 38 6 7 1 43 29 41 19 47 23 7 49 7 1 23 47 13 29 41 8 3 9 27 21 9 51 3 27 9 12 36 48 24 36 24 12 48 10 23 29 47 1 49 И 43 7 11 15 45 15 45 45 45 45 45 12 8 44 32 16 4 56 28 52 13 40 40 40 20 20 40 20 20 14 50 50 50 10 10 50 10 10 15 28 4 52 56 44 16 8 32 16 4 52 16 8 32 28 44 56 17 47 41 23 49 1 59 7 43 18 13 19 37 11 59 1 53 17 19 26 38 14 22 58 2 46 34 20 24 12 36 48 12 48 24 36 21 55 25 55 5 5 55 35 35 22 16 28 4 32 8 52 56 44 23 57 51 33 39 51 9 57 33 24 9 27 21 3 27 33 9 21 25 44 32 56 28 52 8 4 16 26 41 23 29 7 43 17 1 49 27 18 54 42 6 54 6 18 42 28 51 33 39 57 33 27 51 39 29 35 5 35 25 25' 35 55 55 30 29 47 41 43 7 53 49 1 31 59 17 11 13 37 23 19 31 32 5 35 5 55 55 5 25 25 33 21 3 9 27 3 57 21 9 34 48 24 12 36 24 36 48 12 35 11 53 59 37 13 47 31 19 36 14 2 26 58 22 38 34 46 37 39 57 51 33 57 3 39 51 38 27 21 3 9 21 39 27 3 39 46 58 34 2 38 22 26 14 40 25 55 25 35 35 25 5 5 41 54 42 6 18 42 18 54 6 42 56 8 44 52 28 32 16 4 43 43 49 7 41 29 31 23 47 44 17 И 53 19 31 29 37 13 45 34 22 46 38 2 58 14 26 75
Продолжение q 2 6 7 10 17 18 26 30 46 58 34 22 26 14 46 38 2 47 20 20 20 40 40 20 40 40 48 10 10 10 50 50 10 50 50 49 38 14 2 46 34 26 58 22 50 45 15 45 15 15 45 45 45 51 53 59 17 31 19 41 13 37 52 42 6 18 54 6 54 42 18 53 33 39 57 51 39 21 33 57 54 19 37 31 53 17 43 59 11 55 37 31 13 59 11 49 17 53 56 52 16 28 54 56 4 32 8 57 32 56 8 4 16 44 52 28 58 36 48 24 12 48 12 36 24 59 31 13 19 17 53 7 11 59 60 30 30 30 30 30 30 30 30
ГЛАВА ОСНОВЫ МАШИННОЙ АРИФМЕТИКИ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ § 3.1. РАНГ ЧИСЛА И ЕГО СВОЙСТВА Пусть задана система с основаниями р15 р2, ..., рп, диапазон которой Ф определяется как i—i Как известно, всякое число А из диапазона [0, cP) единственным образом может быть представлено в виде остатков по выбранным взаимно простым основаниям, а именно: Л = (аь а2, ..., an). Заданной системе оснований однозначно соответствует система ортогональных базисов Bi, В2, ..., Вп, таких, что величина числа А в позиционной системе счи- сления может быть представлена, как А= 3 (mod cP) (3.1) i=l или, что то же самое, А = 2 ГА$\ (3.2) А_Л 77
где rA — целое положительное число, показывающее, сколько раз диапазон системы еЛ был превзойден при пере- ходе от представления числа в системе остаточных классов к его позиционному представлению через систему ортого- нальных базисов. Целое положительное число гА будем называть истин- ным рангом или просто рангом числа А. Сформулируем теорему о ранге суммы двух чисел. Теорема 3.1. (О ранге суммы). Если в системе с осно- ваниями р2, • • •, Рп и диапазоном еР заданы два числа: Л = ((*!, а2, ..., ап), и B = (₽i, р2, • Рп), с рангами гА и гв соответственно, то ранг гА+в суммы этих чисел определится как п Га+В = ^А + Гв—2 £ ] т‘’ (3-3) где mt — вес ортогонального базиса В;. Доказательство. Напишем в соответствии с (3.2) выра- жения для чисел Л и В: Л = 2 «гВг — гА&, г=1 в=2мг-^. г=1 Складывая А и В, получим Л В = 2 (аг + fM В, — (/"а + гв) &, (3.4) г=1 с другой стороны, на основании правил вычисления суммы двух чисел можем написать и+в= («1+₽,-[3±Ь]р,.......... или в форме (3.2) Л + В=2 (аг + ₽;-[^±^-]р;)вг-гА+в^. (3.5) г=1 78
111«‘образуем это выражение n n /1 + В = 2 (а; + рг)Вг-2 р^]М<-гл+в^ = г=1 г=1 п п = 2 (аг + т-Е (3.6) г=1 г=1 Приравнивая правые части (3.4) и (3.6), получаем утвер- ждение (3.3) теоремы. Полученное выражение (3.3) является основным соот- ношением, позволяющим подсчитать ранг суммы по рангам слагаемых. Очевидно, что ] = L если + и = 0 в противном случае. Естественно полагать, что часто определение ранга будет производиться непосредственно в процессе выполне- ния операции, являясь существенной его частью. Поэтому рассмотрим один из возможных способов определения ранга без перехода к позиционному представлению числа. Обо- значим через Mi минимальное из чисел вида (О, 0, 0... О, tt, ti+i, ..., tn). Очевидно, это будет представленное в принятой системе число, равное произведению следующих оснований системы: PiPz-’-Pi-i- Так, ^ = (1, 1, .... 1), М2 = (0, р1? ..., а), М3 = (0, 0, Pip2(modp3), PiP2(modpn)) и т. д. Пусть А = (аъ а2 ..., ап) есть число, ранг которого гА сле- дует вычислить. Числа Mt и их ранги rt полагаем извест- ными, поскольку они определяются только основаниями системы. Будем к числу А прибавлять число Mi столько раз, сколько потребуется для того, чтобы цифра числа А по осно- ванию pt стала равной нулю. Предположим, что для этого потребовалось ki раз при- бавить число Mi, и в результате суммирования образова- лось число Ai с рангом гЛ1 А} = А -|- kifyli. 79
Тогда применяя последовательно kY раз формулу (3.3), получим Г А± — ГА + где (Oi — известная нам величина. Перейдем теперь ко второму этапу процедуры. Произ- ведем аналогичные прибавления k2 раз числа ТИ2 к числу At до получения нулевого остатка по основанию р2. При этом получим число А2 с рангом гА2: А2 = А{ »Т k2M2. Применяя последовательно k2 раз формулу (3.3), получим Га2 = га + где со2 — известная нам величина. Продолжая этот процесс по всем цифрам числа, в результате получим число (0, 0, ..., 0), равное ранг которого, как легко видеть, равен —• 1. С другой стороны, расчетный ранг этого числа равен + откуда вытекает, что Гл=— Юп— 1- (3.7) Приведем пример, иллюстрирующий рассмотренный метод опреде- ления ранга числа. Выберем систему счисления с основаниями Pi — З, р2=5, рз = 7. При этом диапазон системы будет равен 77Р = 3.5*7 =105. Ортогональные базисы системы определяются как Bi = 70, В2 = 21, В3=15, а их веса соответственно как /тг1 = 2, m2=l, т3=1. Для выбранной системы выпишем минимальные числа: Mx = (l, 1, 1), М2=(0, 3, 3), М3 = (0, 0, 1), ранги которых равны ^1 = 1, г2=1, г3 = 0. Пример. Найти ранг гл числа А = (1, 1, 5) = 61. Сложим число А с (1, 1, 5) + (1, 1, 1) = (2, 2, 6). Переходов через основания не было, поэтому ранг суммы опреде- лится по (3.3) как г = + Повторим указанную процедуру еще раз (2, 2, 6) + (1, 1, 1) = (0, 3, 0). При этом имели место переходы через основания = 3, р3 = 7, поэтому /• = гА + 1 + 1- 2— 1 = rA —1. 80
Перейдем теперь к превращению в ноль цифры по второму основанию с помощью числа М2 (О, 3, 0) + (0, 3, 3) = (0, 1, 3). При этом имело место переполнение по второму основанию. Поэтому ранг результата будет равен г = гА —14-1 — 1=гА — 1. I Тон горим сложение (О, 1, 3) + (0, 3, 3) = (0, 4, 6). 11с|н‘\одов не было. Ранг числа будет Г — ГА— 1 + 1 — ГА- Продолжаем процесс (О, 4, 6) + (0, 3, 3) == (0, 2, 2). Переход имел место через основания р2 и р3, т. е. г = гА+1—2 = га —1- И, наконец, (О, 2, 2) 4-(0, 3, 3) = (0, 0, 5). Здесь имеем переполнение по второму основанию г = гА-14-1 —1 = ^ — 1- Перейдем к превращению в ноль цифры по основанию р3 (О, 0, 5) 4-(0, 0, 1) = (0, 0, 6). 11среходов не было г = гА — 1. Повторим сложение (О, 0, 6) 4-(0, 0, 1) = (0, 0, 0). В этом случае r = rA—1 —1=ГА —2. В соответствии с (3.7) получим гА —2=—1, откуда гА=1. Действительно, ранг числа А, определенный по (3.2), Л = ^±4- JB24-5B3= 166— 1 • 105 равен г А — 1. Приведенный выше способ определения ранга числа методом последовательных сложений с заданными мини- мальными кодами Mi может быть упрощен, если иметь в памяти машины коды, кратные минимальным, и их ранги. Тогда можно вести вычисление ранга последовательными вычитаниями в п приемов. 6 1365 81
Определение. Ранг числа, являющегося результатом арифметической операции, полученный из рангов операн- дов называется расчетным рангом числа. Естественно, что если операция выполнена правильно, то расчетный ранг и истинный ранг результата при сопо- ставлении окажутся идентичными. Как будет доказано далее, подсчет ранга результата при выполнении операции сложения и сопоставление его с истинным рангом результата позволяют устанавливать факт выхода или невыхода результата из диапазона [0, еЛ), т. е. факт переполнения. Рассмотрим некоторые примеры в системе с основаниями pj = = 3, Р2 3, Рз = 7. Пример. Сложить число А = (1, 3, 2) = 58, ранг которого гА = 1, с числом В = (1, 1» 2) = 16 с рангом гв = 1. Складываем А + В = (1, 3, 2) + (1, 1, 2) = (2, 4, 4). Ранг суммы будет Га + в = 1 + 1 = 2. Как легко проверить, истин- ный ранг числа (2, 4, 4) равен 2. Таким образом, расчетный и истинный ранги результата совпали, следовательно, переполне- ния не было. Пример. Сложить число А = (1, 3, 2) = 58 с числом В ~ = (1, 3, 2) = 58. Здесь гА = гв — 1. Складываем А + В = (1, 3, 2) + (1, 3, 2) = (2, 6, 4). Ранг суммы Га + в = 1 + 1 — 1 = 1. Истинный ранг числа (2, 1, 4) равен 2 и не совпадает с расчетным рангом, значит, имело место переполнение. Действительно, А + В = 58-J-58 = 116 >105. § 3.2. О РАСШИРЕННОМ ПРЕДСТАВЛЕНИИ ЧИСЕЛ До сих пор число А в системе остаточных классов представлялось в виде Л = (ан а2> • • •, ап)- Введем теперь представление числа в виде Д' = (Х^ + (1 — X,) (а, — рО, ..., Хпап + (1 — Х„) (а„ — рп)), (3.8) где Хг (i = 1, 2, . . ft) может быть равно либо 1, либо 0. Представление (3.8) в дальнейшем будем называть расши- ренным представлением числа А. Обычное представление соответствует случаю, когда все Хг — 1. Если Хг = 0, то соответствующая цифра числа будет отрицательна. Относительно расширенных представ- лений имеет место следующая теорема. 82.
Теорема 3.2. В системе с основаниями р2, . • Рп, диапазоном аР и ортогональными базисами В2, . • • , Вп, с единичными весами пц = т2 = ... = т^ = 1 для вся- кого числа А с рангом гА существует расширенное пред- ставление нулевого ранга. Доказательство. На самом деле, положив — ^12 ~ ~ =0, rA а остальные 1,= 1, получим по (3.8) Д' = (а!, а2, а{1 — piv .airA — pirA, ап). Представим это число его разложением по ортогональным базисам А' = (XiBi + <Х2В2 + . • • + + • • • + агтАВггА + ... + + апВп — (PhBii + рг2В{2 + • • • + Так как нами выбрана система оснований, для которой PiBi = oP, то Л7 = a{Bi -|- а2В2 + ... + (хпВп — а& = А. Такое расширенное представление числа мы назовем главным расширенным представлением. Следствие 1. Ранг числа равен количеству отрицатель- ных цифр в его главном расширенном представлении. Следствие 2. Максимальный ранг числа не превышает п — 1 (п — порядок системы). Это вытекает из того, что все цифры главного нормального расширения не могут быть отрицательными, по крайней мере одна из цифр долж- на быть положительной. Таким образом, главное нормаль- ное расширение числа может содержать не более чем п — 1 отрицательных цифр. Следствие 3. Максимально возможный ранг для числа, имеющего k нулей, не превышает п — k — 1. Верхний предел величины ранга числа может быть несколько снижен. Эта возможность определяется следую- щей теоремой. Теорема 3.3. Максимально достижимый ранг числа А в его главном расширенном представлении не превы- шает п — 2. Доказательство. Доказательство этой теоремы должно заключаться в показе того, что одной положительной цифрой не может быть набрано положительное число 6* 83
в главном расширенном представлении. На самом Делё, пусть А = (ai, «2> • • ., «п) есть число с наибольшим возможным рангом и мы нашли такое его главное расширен- ное представление А', в котором %,- = 1, а остальные 1г = 0, i = 1, 2, ..., п, i=£j. Тогда Л' = cijBj — ((pt — а4) Bi + (p2 — и2) B2 + • • • • • • + (Pj-i — a>-i) Bj-i + (Pj+i — a?+i) Bj+i +••• • • • + (pn — an) Bn). (3.9) Очевидно, А' будет наибольшим, когда положительные слагаемые будут наибольшими, а отрицательные — наимень- шими при отсутствии нулевых цифр, т. е. at = Pi — 1, i = 1, 2, ..., п. Тогда Ar — cP — (В| 4~ ^2 4~ • • • 4“ -®n) — & — (& 4-1) = — 1 • Между тем A = (pi — 1, p2 — 1, . . pn — 1) = eP — 1 и, таким образом, (3.9) не является главным расширенным представлением Л. Последнее получится, если сохранить в А' положительной еще одну цифру, что и утверждается в условии теоремы. Тогда будет иметь место равенство А' = 2еЛ —(^+ 1) = 1. Примем теперь в качестве ортогональных базисов величины: = 0, о.....0), В2 = (0, k2, О, ..., 0), (dJ0) Вп = (0, 0, О, ..., kn), где ki могут иметь значения 1, 2, ..., pi — 1 для i=l, 2, ..., п. Пусть в выбранной системе оснований задано число /! = («!, а2, •••> ап)- Выберем значения Л2, ..., таким образом, чтобы имели место следующие сравнения: щ (mod р^, k2X2 = a2(modp2), .................................................. v^H) knKn = an (mod pn) 84
или %! = (mod р^, ........................... (3.12) s ^2- (modpn). «П Назовем выражение А = (Ъ, X2, ...,M (3-13) инверсным представлением числа А, а постоянную величину К=(К, k2, ...,kn) (3.14) — ключом „инверсного представления. Между целыми числами диапазона [0, &) и инверсными представлениями этих чисел (3.13) имеет место взаимно однозначное соответствие, поскольку из (3.11), (3.13) и (3.14) имеем АК = A (mod ^) или А = -^- (mod cP). Очевидно, что рассматриваемые до сих пор представления чисел в виде остатков по выбранным основаниям вида А — (аь а2, ..., ап) также являются инверсными представлениями чисел с ключом К=(1, 1, .... 1). Поскольку ki 0 (г = 1, 2........п), то ключами различ- п ных инверсных представлений могут служить J] (р, — 1) г=1 различных чисел из диапазона [0, &) и соответственно имеется столько же различных инверсных представлений чисел и столько >це-систем ортогональных базисов. Условимся, что отрицательным цифрам аг — рг в рас- ширенном представлении соответствуют отрицательные цифры К —Pi в инверсном представлении. Среди ключей инверсного представления имеется ключ вида к = (1, 1, 1). Это следует из (3.12) при аг = Хг. 85
Величина ключа определяется выражением (3.15) г=1 где гд —ранг ключа или соответственно К = § Bi (mod ^). г=1 Таким образом, в системе остаточных классов возможны различные формы представления чисел, отличающиеся большей или меньшей простотой. Приведенные здесь расширенное и инверсное представ- ления носят более сложный характер, но позволяют мини- мизировать максимальное значение истинного ранга числа, что в ряде случаев может оказаться полезным, учитывая немодульность ранга. § 3.3. ЧИСЛОВЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ И РАНГИ ИХ ЭЛЕМЕНТОВ Рассмотрим некоторые вопросы распределения на интер- вале [0, cP) членов последовательности ftis == (о&Ь ^2» • • • > ОСг-1, O&i+l* • • • > ^ti)i s = 0, 1, ..pi— 1. (3.16) Как видно из (3.16), члены этой последовательности отли- чаются друг от друга только своей цифрой по основанию Лемма 3.1. В системе с основаниями pi9 р2, . . ., рп, ортогональными базисами Bl9 В29 . . ВП9 веса которых п соответственно mlt т2, . . тп, и диапазоном & = Црг г=1 в каждом из интервалов Г(/-I) —, , L Pi Pi! (3.17) / = 1, 2, ..., pi, диапазона 5s содержится по одному числу последователь- ности a!S. Доказательство. Действительно, так как D Bi = mi — , Pi 86
где mi<Zpi, то разность между двумя членами последо- вательности atsi и ajS2, ранги которых соответственно равны и г2, будет определена как fljsa <%isi — (^2 SO fTlj — (f2 Ti) еР. (3.18) Pi Для того чтобы aisi и aiS2 лежали в одном интервале, надо, чтобы существовало такое целое число А, для кото- рого имеет место равенство (S2-S1)/nz-^--(r2-r1)^ = ^, (3.19) т. е. чтобы величина была целым числом. Так как pi — простое число, a и S2 — Si < Pi, то l не может быть целым числом. Следовательно, равенство (3.19) невозможно. Это означает, что любые два числа после- довательности (3.16) находятся в разных интервалах (3.17). Так как всего членов в последовательности pt и столько же различных интервалов, то в каждом из этих интервалов содержится по одному члену последовательности. Следствие, Среди чисел ais последовательности (3.16) содержится только одно число aiSi такое, что Piais лежит в интервале [0, cP)/ На самом деле, из нахождения ais в интервале (3.17) следует нахождение ptais в интервале [(/ — 1) cP, / оР). В частности, полагая /= 1, мы и приходим к сформу- лированному в следствии утверждению. Лемма 3.2. Если одно из чисел ai$l с рангом число- вой последовательности Uis ~ (о^1> ^2» • • • » О^г-1» S, , 0&п)> где S = 0, 1, p’i—1, находится в интервале то число a,(S1+() с рангом rt, где ^>0, находится в интер- вале + <3'20> 87
Доказательство. В соответствии с (3.18) можем написать а{(81+0 = aisi + tmi ^ — (rt~ л) Pi Поскольку />0, то границы интервала, в котором нахо- дится ai(S1+o, получаются прибавлением к границам интер- вала, в котором находится а,81, величины и исключением возможного числа полных периодов (зави- сящего от величины mt), что и отражено в (3.20). Следствие. Если член ats последовательности (3.16) находится в интервале то в следующем интервале ГЧ, (/+1)^] L' Pi v f pi ) находится число ais., где s, = s+ 4^+1- (3.21) • ••'I Здесь через обозначена целая часть выражения Действительно, полагая в (3.20) j + 1 ~ / + t^i — KiPi» получим, что t = 4^ + 1 (3.22) что и доказывает утверждение следствия. Из (3.22) видно, что mt должно быть делителем вели- чины +1. В ряде случаев это может иметь место только при единственном значении величины AJj. В част- ности, при mt = 1 должно быть А],- = 0 и тогда t = 1. Иначе говоря, если mt=\, то ats и находятся в соседних интервалах. 88
Лемма 3.3. Члены числовой последовательности aisi и aiS2 одинакового ранга ri = r2 = r удовлетворяют нера- венству aiS1<ZaiS2> если выполняется условие 31<32. Доказательство. В соответствии с условиями леммы выражение (3.18) может быть переписано в виде ^is2 ^isi (*^2 ^1) Bf> т. е. при S2>Si получим что и является утвер- ждением леммы. Лемма 3.4. Если члены числовой последовательности ^isi И <7is2 с рангами и г2 соответственно удовлетворяют неравенству ^IS2 ^isif то их ранги удовлетворяют неравенству г2<Г1 + т1 — 1. (3.23) Доказательство. Из условия леммы следует, что (32 — Si) Bi — (г2 — rj еР > О или (3.24) Предположим, что неравенство (3.23) не имеет места, т. е. г2~г^>т1 — 1 или r2 — rt>mt. Но тогда из (3.24) следует, что S2 — Sj > Pi, что невозможно. Остается принять утверждение леммы. Следствие 1. Если «iS2>^isi» то при единичном весе mt = 1 ортогонального базиса Bt меньшие числа имеют не меньшие ранги: г2<гР В этом случае наибольший ранг имеет самое наимень- шее число, т. е. число, находящееся в интервале £о, . Следствие 2. Разность рангов любых двух чисел рас- сматриваемой числовой последовательности по абсолютной величине меньше веса mt соответствующего ортогонального базиса. Теорема 3.4. Если заданы члены П/о, Clii, • . 1)» ^г(з*4-1)? > > • — 89
числовой последовательности вида aiS = (a1, а2, S, ai+1, где S = 0, 1, 2, ..., Pi-\. и если при nii — 1 минимальным числом последователь- ности является «is* с рангом г*, то члены а;0, «гп • • • имеют ранги, равные г*—1, а члены ais*, «{(«*+!), • •., имеют ранги равные г*. Доказательство. Действительно, так как mt = 1, то любые числа ats и a^s-i-i) находятся в соседних интерва- лах. Иначе говоря, число a,(s+i) получается из a,s при- бавлением числа Вг = (0, 0, . ..,0, 1, 0, ..., 0), имеющего нулевой ранг. Если ais* является минимальным числом последователь- ности с рангом г*, то оно находится в интервале [0, и, следовательно, ai(s*+1) находится в интервале 2^-) , a{(s*+2) —в интервале [2-^-, 3^-) и т. д., пока 5* + р<рь все числа до 9 — Pi — S* — 1 будут иметь ранг г*, так как они образуются сложением с числом В/ нулевого ранга, причем нигде не имеет места переход через pi9 который мог бы изме- нить ранг. Иначе обстоит дело при р = pt —S*. Число a* = ai0 будет уже иметь ранг г* — 1, так как при сложении с Bi произойдет переход через pi9 который и определит уменьшение на единицу ранга суммы. Ранг г* — 1 будут иметь все числа от aiQ до ai(S*-i). Следствие 1. Если S* = 0, то в числовой последова- тельности все числа имеют одинаковые ранги. Действи- тельно, в этом случае при образовании очередных членов последовательности прибавлениями Вг нигде нет перехода через pi9 иначе говоря, нет выхода из диапазона, что могло бы изменить ранг в ту или иную сторону. Дальней- шее продолжение последовательности прибавлением к 6Zi(p._i) приводит к и сопряжено, с одной стороны, 90
с выходом из диапазона, что увеличивает истинный ранг по сравнению с расчетным на единицу,.а с другой — с пере- ходом через ph что уменьшает ранг на единицу. Совместное действие этих двух факторов оставляет ранг числа л/0 без изменений. Следствие 2. Пусть 2f означает сумму всех членов последовательности (3.16). Тогда при вычислении 2/ имеют место выходов из диапазона [0, еР). На самом деле, имеем ais = ^i(s*4-p) ~ Qis* "Ь Р • Вычислим 2f р.-1 р.-1 р2-1 Si = 2 ^is~ 2 P ~ * s=0 s=0 p=0 Так как ptais* лежит в диапазоне [0, еГ), то всего при вычислении 2/ имеют место — выходов из диапазона. Определение. Систему с основаниями р2, ..., рп, п диапазоном еР = ]J pi, ортогональными базисами Blt 2=1 В2, Вп, веса которых соответственно равны т2, .... тп, будем называть нормированной по основа- нию pt, если имеет место условие m-L = 1 (i = 1, 2, ..., п). Если система нормирована по наибольшему основанию, то такую систему оснований будем называть просто норми- рованной системой. Теорема 3.5. Если в нормированной по основанию pt системе оснований известен ранг суммы 2Z всех членов числовой последовательности, то минимальный член а™* этой последовательности и ранг его г* определяются как целочисленные решения неопределенного уравнения Pir*-S* = rs + 6-[^fi-] , (3.25) где 6 определяется через суммарное количество переходов по всем основаниям, имеющим место при вычислении 2/, т. е. 3=1 91
Доказательство. Поскольку в рассматриваемой после- довательности имеется S* чисел ранга г* — 1 и pt — S* чисел ранга г*, то согласно следствию 2 теоремы 3.4. и теореме о ранге суммы имеем г2 = 5*(г*-1) + (рг-5*)г*-6+[-^] , что после упрощения и приводит к (3.25). Замечание. Так как S* < pi9 то уравнение (3.25) имеет единственное целочисленное решение, определяющее искомые S* иг*. Рассмотрим некоторые примеры для системы оснований: р£ = 3, р2 = 5, Рз = Т иллюстрирующие изложенные свойства числовых после- довательностей. Пример. Пусть последовательность a3s имеет вид (2, 3, 0), (2, 3, 1), (2, 3, 2), (2, 3, 3), (2, 3, 4), (2, 3, 5), (2, 3, 6), т. е. члены ее по вели- чине равны: «зо = 98; a3i = 8, #32 —23, #33= 38, #34=53, #35 = 68, а3б = 83, а ранги их соответственно: 'зо=1, г31 = 2, /*32 = 2, г3з = 2, /*34 = 2, /35 = 2, /*з6 = 2. Поскольку здесь S*=l, то ранг чисел от (2, 3, 1) и до (2, 3, 6) равен 2, а ранг числа (2, 3, 0) равен 1. Пример. Пусть последовательность a3s имеет вид (2, 4, 0), (2, 4, 1), (2, 4, 2), (2, 4, 3), (2, 4, 4), (2, 4, 5), (2, 4, 6). #зо=14, #31 = 29, #32 = 44, #зз = 59, #34 = 74, #35 = 89, #36= 104. Здесь S* = 0 и все члены последовательности имеют один и тот же ранг, равный 2. Пример. Известен ранг числа (1, 3, 0). Число (1, 3, 0) может быть получено как сумма S/ членов последовательности (1, 4, 0), (1, 4, 1), (1, 4, 2), (1, 4, 3), (1, 4, 4), (1, 4, 5), (1, 4, 6), тогда уравне- ние (3.25) примет вид 7 г* —S*=10, откуда получаем г* = 2, S* = 4. Действительно (1, 4, 4) = 4 есть наименьшее число данной после- довательности и ранг его равен 2. Теорема 3.6. Если в нормированной по основанию pt системе с нечетными основаниями два члена ±) и aiq числовой последовательности @'is== (о^1, ^2, • • • , ^/ + 1, • • • , ^тг)ч S = 0, 1, ..— 1 имеют одинаковую четность, то член aiq является минималь- ным членом последовательности, т. е. q = S*. 92
Доказательство. Поскольку все основания системы нечетны, то нечетна и величина Если ранг числа a^q-t) обозначить через а ранг числа aiq — через г2, то согласно (3.18) имеем aiq — ai(g_i) = — (r2 —rt) Pl Если предположить, что г2 = ri, то окажется, что разность двух чисел одинаковой четности нечетна, что невозможно. Отсюда г2 =# П, что возможно только в том случае, когда q = S*, т. е. член aiq является минимальным членом рас- сматриваемой числовой последовательности. § 3.4. ОРТОГОНАЛЬНЫЕ И ПСЕВДООРТОГО- НАЛЬНЫЕ ЧИСЛА Числа, у которых все цифры нулевые, за исключением цифры по основанию pi9 т. е. числа вида А = (0, 0, ...» О, 0, ...,0), (3.26) будем называть ортогональными по основанию pt числами. 11ри вычислении истинного ранга числа наиболее естествен- но было бы рассматривать число А = (аь а2, . . ., ап) как сумму его ортогональных компонент, а ранг числа А составлять как сумму рангов этих компонент. Однако этот путь не достигает цели, так как при суммировании ортого- нальных компонент могут иметь место выходы за пределы диапазона [0, &), не улавливаемые в процессе суммирова- ния. Именно эти возможные выходы за диапазон существен- но повлияют на величину ранга. Поэтому представляется целесообразным найти такие стандартные компоненты, ранги которых были бы заранее известны с тем, чтобы число А представлялось суммой этих компонент и чтобы при суммировании не было выходов за пределы диапазона К), &). Очевидно, эти компоненты должны быть доста- точно малыми. Такие стандартные компоненты в дальнейшем будем называть псевдоортогональными числами. __ Определение. Псевдоортогоналъным числом At по осно- ванию pi называется такое число, которое получается 93
из ортогонального числа Ль если в нем нарушить орто* гональность по какому-либо основанию (например, по рп), т. е. число вида А = (0, 0, ...,0, 0, ...,0, Sa.^aiBi + Sa.Bn. (3.27) Можно рассматривать псевдоортогональные числа, в которых ортогональность нарушена по любому из осно- ваний, однако мы в дальнейшем для определенности будем всегда рассматривать псевдоортогональные числа вида (3.27). Это нисколько не нарушает общности рассмотрения, так как под рп может подразумеваться любое из оснований системы. Распространяя свойство числовых последовательностей на псевдоортогональные числа, найдем число Ма. = (0, 0, ..., ah ..., О, S*.), (3.28) лежащее в интервале £о, . Такие числа в дальнейшем будем называть минималь- ными псевдоортогоналъными числами. Цифру Sa. по основанию рп, при которой псевдоортого- нальное число имеет минимальную величину, т. е. попадает в интервал ^0, будем называть следом псевдоортого- нального числа At. Обобщим понятие следа числа. Пусть нам задано число Л = (аь а2, . . ., ап). Цифру S1 по основанию рп такую, при которой число А* — (а{, <%2, ..., ад-i, S1) находится в интервале [ 0, —} , будем называть мини- мальным следом числа А. Число Л*, у которого цифры по основаниям pif р2, . . . . . ., рп-1 совпадают с цифрами числа Л, а цифрой по основанию рп является минимальный след числа Л, будем называть минимальной формой числа Л. Установим некоторые свойства минимальных форм. Теорема 3.7. Если в нормированной системе представ- лены два числа: д —(„W „(1) г/1) „(1)\ Д — („№ „(2) „(2) „(2К /12 — (а 1 > > • • • > &п— 1) , 94
минимальные формы которых суть А*__/^(0 Q* \ /Ц — (0^1 , С&2 » • • • , ^п— 1» *^А1/ , Л*___/—(2) (2) (2) о* \ /12 — (СХ-1 , 0&2 > •••> ^п—1» ^Аг/» а минимальная форма суммы А* 4- А2 имеет вид (Л? + Л1)*==(У1, Y2, Yn-n S*) то минимальный след S* суммы минимальных форм чисел At и Л2 удовлетворяет соотношению S5, + SX2 - 1 (mod рп) < S* < 31х + Sl2 (mod pn). (3.29) Доказательство. Поскольку по условию теоремы тп = 1, то величина — может быть представлена как Рп ^- = qpn+\, Рп где q — целое положительное число. Представим числа Л* и Л2 в виде А* — Q\Pn + *$ai> Ая ~ qzpn + Sa2, где qx и — целые неотрицательные числа. Тогда в силу того, что Л* и Л2 являются минималь- ными формами, имеют место неравенства 7i<<7, ?2<<Л указывающие на нахождение чисел Л* и в интервале [» £1 Сумму Л* и Л5 можно представить в виде ЛТ + Al = + q2 + [ + ] ) ^ + <mod Рассмотрим возможные соотношения между суммой q{ + q2 и величиной q. Случай 1. В этом случае сумма Л* 4- Л2 лежит в интервале [О, — J , т. е. является минимальной и, следовательно, Рп (Sl1 + SS2)(modpn) = S*. 95
Случай 2. <7i + <7г + Г 5Л1 + 5а2 I > q. I Рп J В этом случае сумма А* + Az лежит в интервале Г — , 2—1 , т. е. минимальная форма суммы Л*-(-Л! L Рп Рп J отличается от величины Л1 + Д2 на величину 34 рп, т. е. (л:+л2*)*=лг+л:— Рп + (Sl1 + Sls-l)(modp„). Откуда ($lx + Sls-l)(modpn) = 5*. Оба рассмотренных случая отражены в соотношении (3.29). Полученный результат может быть распространен на любое число слагаемых, для чего сформулируем более общую теорему. Теорема 3.8. Если в нормированной системе представ- лены числа Лп ..., Ат, минимальные формы которых суть ЛГ = (а11), а*1’, S*A1), Л: = (аГ>, а<2), Sl2), и если минимальная форма суммы 2 At имеет вид 1=1 (т \ * За*) =(yi, yz,...,Yn-i» s!), г=1 J то минимальный след суммы минимальных форм удовлет- воряет соотношению т, т '%S*A.-m+l (mod рп) <S! < 3 SI (modрп). (3.30) «=1 ' г=1 1 Теорема доказывается (т — 1)-кратным применением предыдущей теоремы 3.7. Рассмотрим некоторые теоремы о следах и рангах мини- мальных псевдоортогональных чисел. 96
Теорема 3.9. Если в нормированной системе задано минимальное псевдоортогональное число ЛЦ = (0, 0, ...,аг, ...,0,S*.) с рангом га., то его след S«. определяется как г^.Рг—Рпт = ------] + ' <3-31) Доказательство, Величина минимального псевдоорто- гонального числа Л4а. может быть записана в виде = ЩВi 4~ Вп Г• В соответствии с определением минимального псевдо- ортогонального числа, 7Иа. находится в интервале Г 0, , т. е. L рп I 0<ма.<4- 1 Рп ИЛИ б7Э б[д б1й -С ~ F 5« — < Га еР -|- , 1 Pi 1 Рп 1 Рп откуда (fa-Pi —а1тА Рп (Гa-Pl — а‘т9 Рп —L----------< S* < -----------h 1 Pi ‘ Pi Так как SJ. —целое число, то оно может удовлетво- рять полученному неравенству только при значении Г(Г Pt —atmi) Рп SS.=L^—]+' что и является утверждением теоремы. Теорема 3.10. Если в нормированной системе задано минимальное псевдоортогональное число ЛЦ = (0, 0, ...,аг, ..., О, SJ.), то его ранг га. определяется выражением ч = Г^-1+1- <3-32) « L Pi J Доказательство. Из выражения (3.31) для S«. следует, с одной стороны, что rajpt — агтг > О, 7—1365 97
т. е. • <3-33) 1 Pi И С Другой стороны, так как S'a. <Zpn, ra^i—^itniCpb т. е. ч<Т£+1- <3-34) 1 Pl Так как га — целое, то единственной возможностью удов- летворить одновременно соотношениям (3.33) и (3.34) является выполнение (3.32). Следствие. Минимальное псевдоортогональное число с цифрой а,, равной единице, имеет единичный ранг. Действительно, поскольку Г— =0, то /•«.= !. L Pi J 1 Теорема 3.11. Если в нормированной системё задано минимальное псевдоортогональное число Ма. = (0, 0, ...,af, ...,0, S*.) с рангом га. и минимальное псевдоортогональное число 2Ир._а. = (0, 0, ..., Pt (x>i, ..., 0, S**_ap с рангом Гр.-а^ то ранги этих минимальных псевдоорто- гональных чисел связаны между собой соотношением ra. + ~ + b (3.35) а их следы удовлетворяют соотношению 5*. + 3*._а. = рл+1. (3.36) Доказательство. Подсчитаем сумму рангов чисел ЛЦ и Л4р._а.: ч+ч-, - ] +1 + [ ] +1 - "[Т] + [-Т]+"!-+2- В соответствии с тем, что целая часть [%] нецелого числа х удовлетворяет соотношению И + [-X] - -1, получим + rp.-a. = mt 4-1. 98
Подсчитаем теперь сумму следов минимальных псевдо- ортогональных чисел в соответствии с (3.31): Г (гаА — п S5; + _а = [ -----] + 1 + 1 1 1 L Pi J +[ (rT>._0.Pi-(Pi — a.i)mi)pn Следствие. Если а, = 1, то минимальное псевдоорто- гональное число AJp._i для дополнительной цифры по осно- ванию pt имеет ранг, равный т^. Действительно, по (3.35) гр,_1 = /иг. Пример. Рассмотрим систему оснований: р1 = 2, р2=5, Рз = 7, р4 = 23, ^=1610, подсчитаем ортогональные базисы и их веса В1 = *^2 = 805; Л1!=1, о 3-1610 псс В 2, — —г— ~ 966; /п2 ~ 3» □ Вз=6'1761°=1380; /п3=6, ^4 = ^ = 7°; т4=1. Для принятой системы приведем значения минимальных псевдо- ортогональных чисел и их рангов: по основанию Pi = 2 (1, 0, 0, Sai) = (l, 0, 0, 12) = 35, г1=1; по основанию р2 = 5 (0, 1, 0, Sa2) = (0, 1, 0, 10) =56, rt = 1, (0, 2, 0, Sa2) = (0, 2, 0, 19) =42, г2=2, (0, 3, 0, Sa2) = (0, 3, 0, 5) =28, г3=2, (0, 4, 0, SX2) = (0, 4, 0, 14) = 14, г4 = 2; по основанию р3 = 7 (0, О, l,Sas) = (6, 0, 1, 4) =50, г4=1, (0, 0, 2, Sa3) = (0, 0, 2, 7) =30, г2 = 2, (0, 0, 3, Sa3) = (0, 0, 3, 10) = 10, г3=3, (0, 0, 4, s£3) = (0, 0, 4, 14) = 60, г4 = 4, (0, 0, 5, S«3) = (0, 0, 5, 17) = 40, г5 = 5, (0, 0, 6, Sa3) = (0, 0, 6, 20) = 20, г6 = 6. 7* 99
Здесь значения Sa. и га/ рассчитывались соответственно по фор- мулам (3.31) и (3.32). Величины минимальных псевдоортогональных чисел, как это наглядно видно, лежат в диапазоне § 3.5. СОСТАВЛЕНИЕ ЧИСЛА ИЗ МИНИМАЛЬНЫХ ПСЕВДООРТОГОНАЛЬ- НЫХ КОМПОНЕНТ Рассмотрим в нормированной системе некоторое число А = (сс1, а2, • • ап). Суммируя минимальные псевдоортогональные числа Map Ma2i • • • > образуем число МА: МА — Ма1 + Ма2 + ... + Ма или /Ил = (а1, а2, ..5Л), где 5а = (5^ + 5*2+...+3* )(modpn). (3.37) -1 Величину SA в дальнейшем будем называть следом числа А. Как видно число МА, отличается от числа А только цифрой по последнему основанию. Поскольку каждое из слагаемых лежит, по определе- нию, в диапазоне [ 0, — 1 , т. е. L рп I 1 Рп то после (л—1)-го суммирования получаем Мл«П-1) (£-1). При условии рп>п— 1 получаем МА<.&, т. е. при образовании М.А обеспечивается невыход за диапазон [О, ^). Истинный ранг полученного числа МА нам всегда точно известен, поскольку истинный ранг совпадает с расчетным при условии невыхода суммы за диапазон. 100
Расчетный же ранг, как известно, определяется по теореме о суммировании рангов как сумма рангов операн- дов минус сумма возможных переходов через величину основания с учетом их весов. Поскольку по всем цифрам, кроме цифры по последнему основанию, переходов при суммировании минимальных псевдоортогональных чисел быть не может, а вес ортого- нального базиса по последнему основанию был принят равным единице, то это обстоятельство существенно упро- щает подсчет ранга числа. Обозначим через /<А сумму рангов минимальных псевдо- ортогональных чисел Ка= 3 Га. (3.38) 7—1 1 и будем в дальнейшем число КА называть ядром ранга числа А. Обозначим через число переходов по последнему основанию, ровании имели место при выполняемом сумми- ^+5*2+...+3* (3.39) L рп дальнейшем число пл называть коррекцией А. и будем в ранга числа Тогда истинный ранг числа МА определится как = —(3.40) Таким образом, минимальные псевдоортогональные чис- ла служат удобными стандартными компонентами, сумми- руя которые, можно получить число, совпадающее с любым исходным числом по всем цифрам, кроме цифры по послед- нему основанию. При этом нам известен ранг полученного числа. Согласно (3.30) минимальный след суммы связан со следом числа А соотношением SA~n + 2<Sl<SA. (3.41) Эта неравенство может быть уточнено за счет учета количества нулей среди цифр числа А: а17 а2, ..., ап_{. Обозначив количество нулевых цифр через соА, можно переписать (3.41) в виде SA — + 2 + соА < SA < SA. (3.42) 101
Из (3.40) знаем истинный ранг числа МА, между тем нас интересует истинный ранг числа А. В ряде случаев он может быть определен сразу, в зави- симости от соотношения между ап и SA. Сформулируем теорему, определяющую, когда ранг числа А может быть определен сразу по рангу числа МА. Теорема 3.12. Если в нормированной системе задано число A (alt «г, ..., an_!, an) и суммированием минимальных псевдоортогональных чисел 44ai, Ма2, . . ., получено число МА = (ah a2, SA) с рангомГмА, то ранг гА числа А определяется выражением /’а = Гмл Да, (3.43) где Да может иметь значение Да = 0, 1, -1. Доказательство. Из свойств числовых последователь- ностей известно, что члены последовательности вида (<%!, а2, ..., an_1( S), у которых значения S равны SI, SA + 1, ..., рп— 1, имеют ранг, на единицу больший, чем члены, у которых S = О, 1, 2, ...,SA—1. Отсюда, зная ранг числа МА и рассмат- ривая различные взаимные расположения нуля по осно- ванию рп, а,п, Sa и Sa,получим значения гА, равные ГмА> большие гмА на единицу и меньшие ГмА на единицу. Рассмотрим различные возможные случаи: Случай 1. Если ноль по основанию рп находится вне интервала (SA — п + 2 + ©, Sa), что эквивалентно условию Sa — и “1“ 2 -J- (о 0, то Га = гма При an>SA и га-=гЫа—\ при an<SA —п + 2 + ®, Случай 2. Если ноль по основанию рп расположен внутри отрезка (SA — п + 2 + ®, SA) но левее SA, что экви- 102
валентно условию SA>0, то имеет место то же соотно- шение га = гма при an>SA, гА = гма—\ при ап < S*A. Случай 3. Если SA = 0, то из свойств числовых после- довательностей нам известно, что гА = гмл для любых ап, Случай 4. Если ноль по основанию рп расположен внутри отрезка (SA, SA) или совпадает с его правой гра- ницей SA = 0, то гА = гмА + 1 для ап > S1 и Га = Гма ДЛЯ an<SA, что и доказывает утверждение теоремы. Таким образом, если известен ранг гмА числа Л4А, то для определения ранга произвольного числа А надо знать взаимное соотношение величин ап, SA, SA и нуля по осно- ванию рп, т. е. ранг числа А совпадает с рангом числа МА, если 05а Sa и Sa 3А или an<SA и SA<31 Ранг числа А на единицу больше ранга числа МА гл = ГмА+ 1, если SA и 5Д < Sjt. Ранг числа А на единицу меньше ранга числа Мл Га = Гмл—\, если и SA>S*A. На основании изложенного целесообразно ДА ввести в ка- честве дополнительной характеристики числа. Определение. Характером числа А будем называть величину ДА, удовлетворяющую условию । 0, если an>SA и SA>SA или ап<5АиЗА<5А, ДА = -j 1, если an<ZSA и SA > SA, [ — 1, если an>SA и SA<SA. (3.44) 103
Характер числа является весьма удобной и компактной характеристикой. В частности, оказывается, для фиксации факта переполнения при сложении достаточно знать только характеры операндов и суммы. § 3.6. КРИТЕРИЙ ПЕРЕПОЛНЕНИЯ ПРИ СЛОЖЕНИИ Пусть заданы два минимальных псевдоортогональных числа Ма. и ТИр. с цифрами ocj и |3j по одному и тому же основанию pi с минимальными следами, соответственно равными Sa. и Sp.. Образуем их сумму М = Ма. или Д4 = (0, 0, ..., 0, (а, + (mod pi), ... ,..,(S*. + Sj|.) (modpn)). Минимальный след числа М обозначим через S«.+p. . Как известно, минимальный след может принимать либо значение SS.+3.-(S*^Sj|.) (mod/U либо S*.+3. = (S*. + S^-l)(modpn). Определение. Пару цифр а/ и будем называть правильной парой, если для суммы двух минимальных псевдоортогональных чисел А1а. и М$. имеет место соот- ношение S* .+3. = (S*. + S|.) (mod pn), (3.45) и пару цифр р^ будем называть неправильной парой если SS.+p. = ~ 0 (mod pn). (3.46) На основе этого определения может быть сформулиро- вана следующая теорема. Теорема 3.13. (О следе суммы.) Если в нормированной системе заданы два числа и А2: а*1*, ...,<), А2 = (а™, а<а>, .....аП 104
и сумма этих чисел .41 + Л2 = ((ос^1’ + а<Г) (mod Pi)> (“г1’ + а22’) (mod Р2), • • • .(a“’ + <2>)(modpn)) и если суммы минимальных псевдоортогональных компо- нент этих чисел суть Л1А1, Л4Аг, MA1+a2- МА1 = «”, a<1’, ...,a£v SA1), A4a2 = (<>, a‘2), SAJ, MA1+a2 = ((a'1’ + al2’) (mod pt), (al” + a‘2>) (mod p2), ... ..., (a^ + (mod pn_t), SA1+a2), to для следа суммы имеет место выражение Sai+a2 = (Sai. + 5а2 — бА1А2) (mod рп), (3.47) где 6А1а2 есть число неправильных пар, содержащихся и последовательности al2’), (al”, al2’), ...,(«!% a^). (3.48) Доказательство. Согласно определению 5А1 = (3*a> + S*a> + • •. + S&v) (mod pn), Sa2= (S*<2> ”1" ^a'2’ ’ d~‘^a<2) ) (mod Pn)> “T 2 ^Tl-1 •S ' 1 1-Л2 = (Sal”+al2> + Sal”+a!,2’ + ’ • • + S*a> ,a«> ) (mod pn). Вычислим (S/i. + *Sji2) (mod pn) == ((S;(D + *$* (2>) + • • • . . . + (^a(1) “Ь ^a(2) )) (m°d Pn)' “n-l zt—1 Для каждого значения S*<i)+a<2> возможно либо (3.45), когда (а-Д а-2)) — правильная пара, либо (3.46), когда (г4!), а-2)) — неправильная пара. Отсюда следует, что \iil 42 будет отличаться от Sax + Sa2 на число непра- вильных пар в (3.48), что и составляет утверждение теоремы. Рассмотренная теорема позволяет определить след ДьМг суммы по величинам следов и Sa2 слагаемых С»ез того, чтобы образовывать сумму из минимальных псевдоортогональных компонент. 105
Рассмотрим теперь, как можно определить количество переходов через рп при образовании A1ai+a2 по количест- вам переходов через рп при компоновке МА1 и Ма2- Для этого введем следующее определение. Определение. Пару цифр (а-п, а£2)) будем назы- вать стандартной парой, если при суммировании двух минимальных псевдоортогональных чисел имеет место неравенство + (3.49) i i и нестандартной парой, если + $*«.?> Рп- (3.50) Теорема 3.14. Если в нормированной системе заданы числа Alt Л2 и их сумма Л^Лг А = («<“, а'1’, Л2=(а)2’, А + А = ((“?’ + аГ) (mod Pi), (а<“ + а'2)) (mod р2), ..., (а™ + <’) (mod рп)), коррекции рангов которых соответственно равны этар ла2, Яа14-а2, то имеет место следующее равенство: >itai4-a2 := ~Ь «ГСа2 8aiA2 4" Y, (3.51) где 8ai, а2 есть число нестандартных пар в последова- тельности (а“>, <42)), К>, а величины £ и у определяются из условий: И о, 1, если Sa! + А12 > рп, 0, если SA1 + SAi< Рп, если И-5^1, Аз<^ Рп, <Sai4~-^2 I 5aj, Аз Рп* (3.52) (3.53) Доказательство. По определению следа числа Ах-|-А2 имеем «Sai+a2 = (5*<i>+a(a> + • • • + S*<i> v<2>) (mod рп). 1 1 7v“*’J. 7v~"X В правую часть этого выражения величина S*(i>+S*<2>, где 1=1,2, ..., п— 1, войдет либо полностью, как 106
‘^а-1)+а(-2)’ если (aiX>’ аГ) ~"станДаРтная пара, либо как рп + в противном случае. Следовательно, правая часть этого выражения будет на величину рп&А1А2 больше чем Sah-a^ т- е- ПРИ образо- вании SaX4-a2 будет совершено на 8А1а2 меньше перехо- дов через рп, чем сумма числа переходов, полученных при образовании SA1 и Sa2 в отдельности. Кроме того, при суммировании следов Sax и Sa2 может иметь место переход по рп, если Sa± + Sa2> рп, который не учитывался при подсчете Sa!4-a2, следовательно, сумма коррекций рангов должна быть дополнительно увеличена на число £. Но сумма следов Sax и Sa2 может быть представлена в виде Sai + Sa2 = %>Рп + s, (3.54) где s—-целое неотрицательное число. Учитывая, что мы на основании (3.47) и (3.54) получим Sa!+a2 = (s — 6А1а2) (mod рп). В том случае, когда имеет место соотношение 8 6аха2» уточнение суммы коррекций рангов не требуется. При этом •5а]4-а2 ~ $ ^аха2 ИЛИ 5ai-}-A2 “Ь $AjA2 — s Рп, т. е. равенство (3.51) имеет место. В случае, когда 8 6аха2» след суммы будет определен как ^Ах+Аг — Рп + 8 5ахА2? откуда Sai+A2 + ^АхА2 = Рп + s Рп, и сумма коррекций рангов должна быть уменьшена на еди- ницу, что и отражено в равенстве (3.51), составляющем утверждение теоремы. 107
Теорема 3.15. Если в нормированной системе заданы числа Alt А2 и их сумма Л!Д-Л2: Аг = (а™а?>, ...,а'2>), Л + Л = ((а?’ + «Г’) (mod pt), ..., (a„’ Д- о42)) (mod рп)) с рангами rA1, rA2, гА1+а2 и ядрами КА1, Ка2, Ка1+л2 этих рангов соответственно, то ядро ранга суммы At Д- Л2 определяется выражением К Ai-{-A2 = Да± Д“Ка2 OtAiA~A2 (3.55) где п— 1 тА1+л2= 3 Wi (3.56) г=1 И ( 1, если а!1’Д-а)2) > рг, [ 0, если а^’Д-сД2’ < р,, (3.57) i=l, 2, ..., п. Доказательство. Рассмотрим минимальные псевдо- ортогональные числа Afa(i> и Ма<2> по основанию pt с ран- гами г„<1) и гп<2> соответственно. Поскольку при суммировании двух минимальных псевдо- ортогональных чисел не может быть выхода из диапазона [О, еР), то истинный ранг ^a<i)+a<2) суммы этих чисел сов- падает с расчетным рангом суммы ra<i)+a(2), который опре- деляется как = Га^ + Га|2> - Т- е- ram+a)2> = = Ч1’ + ~ 4if7li ~ • Суммируя обе части этого равенства по i от i = 1 до i = n— 1, получим 1^ Ai^-a2 ==: ТС.А1 Д" К а2 ^Ai^~A2 а2> что и составляет утверждение теоремы. Теорема 3.16. Если в нормированной системе заданы числа Ai и А2 и их сумма Ai + A2 с рангами гА1, га2, ГА1+А2, ядрами рангов KAl, Кл2, Kai+a2, коррекциями |08
рангов лЛ1, Лл2, nAl+A2 и характерами ДА1, Да2, Дан-а2 соответственно, то истинный ранг га1+а2 суммы AL + A2 равен ГA14-A2 ~ Ках Т Ка2 ^Ai4-A2 ^а2 Дах-}-^2 4“ Y• (3.58) Доказательство. Поскольку истинный ранг суммы опре- деляется выражением г Ai4-a2 “ Кл^^-Аг ^А1-|-л2 Aai+a2, то, подставив в правую часть этого равенства значе- ние Kai+a2 из (3.55) и значение Лах+а2 из (3.51), получим ГА1+А2 ~ Ka-l 4“ Ка2 ^Ai4-A2 ®Л1, А2 ЯЛ1 ЗТа2 4“ &Ai, А2 £ 4~ Y Aai+A2‘ Это выражение после сокращения 8Л1 А2 переходит в (3.58). Сформулируем теперь теорему о критерии переполне- ния при сложении двух чисел. Теорема 3.17. (О критерии переполнения при сложе- нии.) Если в нормированной системе заданы два положи- тельных числа: Л2, их сумма А{ -|- А2 с характерами ДЛ1, ДЛ2, Да1+а2 соответственно, то единичное значение величины Q Q — ДЛ14" Да2 4- Лп Да14-а2 £4“Y (3.59) указывает на то, что при суммировании имело место переполнение, а нулевое значение Q свидетельствует об отсутствии переполнения. Доказательство. В соответствии с теоремой о рас- четном ранге га1+а2 суммы можем написать _ п—1 Га1+а2 = га1 + /’а2 — 3 т1п = ГА1 + га2—тА1+А2 — ц„. Выразив значения гА1 и гд2 через ядра рангов, кор- рекции рангов и характеры, получим ГА14-А2 == КAi Aai Кл2 Лд 2 Ад2 ^Ai4'A2 Г|п.* (3.60) Обозначим через Q разность между истинным и рас- четным рангом суммы ~ ^"ai+a2 ^*Ai4“A2* 109
Подставив сюда значение Гл1+л2 из (3.58) и значение из (3.60), получим S2 = Aai + Аа2 + Пп — Aai+a2 — В + Y- Известно, что при отсутствии переполнения истинный ранг совпадает с расчетным, т. е. й = 0, а при наличии переполнения расчетный ранг меньше истинного на едини- цу, т. е. й = 1, что и составляет утверждение теоремы. Рассмотренный критерий переполнения при сложении двух чисел может быть обобщен на произвольное число слагаемых. Обобщенная теорема 3.18. (О критерии переполнения при сложении.) Если в нормированной системе заданы поло- жительные числа Ai, Л2, . . ., Ат и их сумма А = Ai 4- Л2 4-... 4* Лт с характерами соответственно Дац Да2» • • •, &Ат> ^а, то нулевое значение величины ЙА: т т т т йа=2 Ал (3.61) г=1 г=2 г=2 г=2 где Лп, i+1 — 1, если при сложении суммы г Л(1) = 2 Aj с числом Ai+i имел 3=1 место переход по основанию рп, 0 —в остальных случаях; 1, если SA<i) + SA.+j Рп, 0, если SAw+SAl+l<Pn, 1, если SA(i+D + 6г+1 > рп, 0, если SA(i+i) 4" 6f+i < рп', (3.62) (3.63) (3.64) (6г — число неправильных пар в числах Л<*> и Лг+1) сви- детельствует об отсутствии переполнения, а ненулевое зна- чение величины ЙА указывает на то что при суммировании имело место переполнение. Доказательство. Невыход из диапазона [0, cP) суммы из т слагаемых предполагает, что не имел место выход из диапазона ни на одном из промежуточных этапов сумми- 110
рования, т. е. Qa(2) = 0, ^а(3) “ О» ^А(Ш)~^‘ • (3.65) Из первого выражения условия (3.65) получим ^Л(2) ~ ^А1 + Ла2 + 1Ъ, 2 — Дах+А2 — + Y2 = О, откуда ^Ai+A2 ~ Aai + Ла2 + Т]п, 2 — ?2 + Y2- Предположим теперь, что выполняется условие ^а(1) == О и для него справедливо г г i г ^A<i)== 3 Аа.+ 2 'Пн,;—’ 2 Ъ + 2 Y;- (3.66) >=1 J j=2 j=2 +=2 Вычислим теперь величину QA(i+i>: ^A(i+1) “ ^A(i> “Ь f+1 — A^O+l) — £i+l + Y*+l• Подставив сюда значение ДА(ь из (3.66), получим г+1 Ж Ж г+1 ^А(Ж) = 2 Аа.+ 2! Th,J+i — Лд(г+1)— 2 + 2 Yj* j=i J j—2 j=2 j=2 Таким образом показано, что если выражение (3.61) имеет место при суммировании i чисел л<‘>= S +, 3 = 1 то оно справедливо и при суммировании i + 1 чисел г+1 = 2 +• 3=1 Применяя метод индукции, доказываем справедливость (3.61) для любого f, в конечном счете для i =- т, что и составляет утверждение обобщенной теоремы. 111
§ 3.7. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ. ВВЕДЕНИЕ ЗНАКА ЧИСЛА. ПРАВИЛО ЗНАКОВ Система остаточных классов весьма эффективная при выполнении рациональных операций, заметно усложняется при выполнении таких действий в арифметическом устрой- стве, при которых требуется знание всего числа, т. е. его позиционной величины. Введенное понятие ранга числа, позволяющее принци- пиально решать вопросы, относящиеся к оценке всего числа в целом, все же обладает недостатком, связанным, с одной стороны, с тем, что величина ранга числа не является модульной, а с другой стороны, позиционностью определе- ния ранга числа как числа переходов через диапазон при переводе числа в позиционную систему счисления. Введением ранга мы привносим в представление числа элемент позиционности. Само представление числа становит- ся неоднородным и, естественно, при этом затрудняются непозиционные действия над числом. Возможным спо- собом преодоления этого затруднения является замена ранга характером числа. В некоторых случаях представ- ляется целесообразным привлечение следа числа — модуль- ной величины. Как характер, так и след числа, являясь модульными величинами, в то же время несут информацию о его позиционном представлении, иначе говоря, о расположении числа относительно первого интервала числового диапазона. Нам представляется довольно удачным сам факт привле- чения модульных величин, не нарушающих однородности представления числа, но в то же время несущих информа- цию о его позиционной величине. Итак, говоря о числе в системе остаточных классов, будем считать, что нам известны его остатки по основаниям Pi, Р2, • • Рп, след SA по основанию рп и характер ДА. Теорема 3.19. Если в нормированной системе заданы минимальные псевдоортогональные числа ЛЦ = (0, 0, ...,0, ccf,O, ...,S*.), ~ 0’ * * • ’ 0» Pi 0*1, 0, . . ., Sp._а.) и если то пара (а^, pt — о^) является неправильной. Доказательство. Как известно, при условиях теоремы *$а. + — Рп + 1 > 112
ii минимальный след суммы чисел ЛЦ и Л1р._а. опреде- ляется как Sa.-|-(p.—a.) = = 0 (mod рп). Отсюда = 4“ Sp.—a. 1) (mod рп), что в соответствии с определением подтверждает непра- вильность пары (ось pi — oci). Теорема 3.20. (О сумме следов.) В нормированной системе след SA числа А, имеющего рА отличных от нуля цифр по основаниям р1? р2» • • - , Pn-ь и след S&>~A допол- нительного к А числа cP — А связаны соотношением (SA + S^_A) (mod рп) = Ра- (3.67) Доказательство. Как легко видеть, след суммы числа с его дополнением до cP есть SA+(^_A) = S^ = ° (mod рп). С другой стороны, сумма следов числа и его дополнения до & удовлетворяет соотношению Sa + S^>_ а — а = 5а+(^)_ a) (mod рп), где —число неправильных пар среди (аг-, pi— о^), 1 = 1, 2, ...» и — 1. Согласно предыдущей теореме число неправильных пар совпадает с Ра —т. е. с числом ненулевых цифр в числе А. Отсюда (SA + S^__A) (mod рп) = рА, что и составляет утверждение теоремы. Следствие. Если задано число А со следом SA и числом ненулевых цифр рА, то след дополнительного числа опре- деляется соотношением с ( Pa~Sa, если (Ад>Sa, J I Рп + Рд —Sa, если pA<SA. Теорема 3.21. (О характере дополнительного числа.) В нормированной системе характер Аа числа А связан 8-1365 113
с характером А^>_д дополнительного числа Ф — А соот- ношением — Ла, если Оп^О и i^a>Sa, л= , Ч " Ha<Sa, J 1— ДЛ, если ап = 0 и [iA>SA или ап=^0 и |1a<Sa, где Ца — число ненулевых цифр числа А по основаниям Pii Рг< •••> Pn-i- Доказательство. Рассмотрим сумму числа А с его дополнением до ZP А + (3> — А) = д>. При суммировании имеет место переполнение, т. е. Й = I, кроме того, характер и след суммы равны нулю Аа+(5й-а) = 0; 5а+(^>_а) = 0> откуда ^A+(^>~A)A-^A,g°-A — ^A,^>-A<Zpn. и у = 0. Критерий переполнения при сложении принимает вид £2 = А а “Ь а4"Яп или А= 1—^а — Лп + В- (3.70) Проанализируем возможные случаи при ап = 0. Пере- ход через рп при суммировании ап и рп — ап не произой- дет и, следовательно, т)п = 0, т. е. (3.70) переходит в &3°-А = 1 — Аа + |. Здесь возможны два случая. Случай 1. Если pA>SA, то Sga_A = На — SA и при суммировании Sa + S#>_a не будет перехода через рп. Следовательно, | = 0 и Д^>_4=1—Дд, что соответ- ствует (3.69). Случай 2. Если На<Зд, то 5^>_д = На + Рп —5д, в сумме Sa + ^-a будет иметь место переход через рп, т. е. %— 1 и А^>-а = 2-Аа. (3.71) 114
11<> так как ДА и могут принимать лишь значе- ния 0,1 и —1, то равенство (3.71) возможно лишь при ^5°-а ~ ^а — 1, что совпадает с (3.69). То, что в этом случае ДА = 1, иполне понятно. Здесь SA больше, чем количество рА ненулевых цифр в А, и можно утверждать, что имеет место ситуация <хл = 0 < Sa Sa , которая и определяет ДА=1. Пусть теперь ап=#0. Тогда обязательно имеет место переход через рп при суммировании ап + Рп~ап> т. е. t|n = 1 и (3.70) переходит в Л^>_а = ^-Да. (3.72) Здесь также возможны два случая. Случай 1. Если p.A>SA, то | = 0 и Д^>_А= — ДА, что совпадает с (3.69). Случай 2. Если |xA<SA, то |=1 и (3.72) переходит в выражение ^5°-А = 1 — ^А, что также совпадает с (3.69). Таким образом, рассмотренные теоремы позволяют нам по следу и характеру исходного числа однозначно опре- делить след и характер дополнительного числа. Перейдем теперь к рассмотрению вопроса о введении знака числа. Ранее был рассмотрен вариант введения искусственной формы чисел, в которой как отрицательные, так и положи- тельные числа изображались положительными числами, причем были установлены такие правила выполнения опе- раций, которые обеспечивали правильность результата как по величине, так и по знаку. В этом варианте положитель- ные числа представлены числами в интервале [Р, cP), а отрицательные [0, Р). Если среди оснований системы есть основание, равное двум, например pi = 2, то можно принять, что числа, лежащие в диапазоне [0, еЛ/2), являются отрицательными, а в диапазоне [<£Г72, cP) — положительными. Само же число аР/2 может быть принято в качестве машинного нуля. Таким образом, вопрос определения знака числа эквивалентен определению интервала, в котором это число находится. 8* 115
Для случая, когда одно из оснований равно двум (р4 = 2) можно утверждать, что числа Ло = (О, а2, ..ап) и Л = (1, а2, ..., ап) имеют разные знаки, поскольку они лежат в разных интер- валах относительно еР/2. Сформулируем теорему, позволяющую в ряде случаев сразу определить знак числа. Теорема 3.22. (О знаке числа.) Если в нормированной системе с основаниями = 2, р2, ..., рп заданы числа А вида А = (аь <х2, ..., ап) с минимальными следами S1, то все числа, для которых выполняется неравенство (3.73) являются отрицательными, а все числа, для которых выполняется неравенство ’ (3.74) являются положительными. Доказательство. Число А заключено в пределах (an - S1) £ < А < (ап - S1+ 1) £ . Рп Рп Следовательно, если (ап-31+1)^<4- (3-75) Рп z то А < <9V2 и является отрицательным. Но так как Рп 2 рп 2 то (3.75) можно переписать в виде an-Sl+K-^-. Учитывая, что основание рп — нечетное, мы, переходя от рп/2 к (рп—1 )/2, можем написать условие отрицательности числа А в виде (3.73). Аналогично из условия (an-Sl)^>4 Рп z получим условие положительности числа А (3.74), заменив рп/2 на (рп + 1)/2. 116
Рассмотренная теорема о знаке числа при известном минимальном следе числа 31 позволяет по неравенствам (3.73) и (3.74) определить знак числа, оставляя неопреде- ленным лишь случай, когда число А таково, что «п —S1+1>^Чг~ • Иначе говоря, неопределенным является случай малого и<> абсолютной величине числа А, когда А заключено в интервале ГРп-1 Рп-Ь 1 L 2 рп ’ 2 рп ) ’ т. с. находится в интервале длины еР/рп, содержащем точку .'Р/2 в качестве центра симметрии. Очевидно, в этом интерва- ле лежат как положительные, так и отрицательные числа п поэтому одного лишь факта нахождения А в этом интер- вале еще недостаточно для определения знака А. Для выяснения знака А в этом неопределенном случае, можно поступать следующим образом. Рассмотрим число А' = А + ^- = А + (1,0, ..., 0). Согласно определению знака числа sign А‘ = — sign Л. Вместе с тем число А’ не лежит в интервале неопределен- ности и если известен минимальный след Sis то знак А' определится в соответствии с неравенствами (3.73), (3.74), а по знаку А' определится и знак А. Таким образом, при известных минимальных следах S1 и 31' вопрос о знаке числа решается простым анализом разностиan—S1 иап—51'. Сформулируем аналогичную теорему об определении знака числа через SA, учитывая, что ОСп 'С «п 5А, «п — Зд>ап — 31 — П-Ь2 + ®. Теорема 3.23. Если в нормированной системе с основа- ниями pi = 2, р2, . . ., рп заданы числа А вида А = - (аь а2....ап) со следом SA, то все числа, для которых имеет место неравенство an-SA+l<^--(n-2-®), (3.76) 117
являются отрицательными, а все числа, для которых имеет место неравенство ап -3А (3.77) являются положительными. Здесь также имеем область неопределенности, которая уже значительно шире и характеризуется неравенствами cl е Ри +1 — *->а 2— ’ an — SA+ — (« — 2 — ®). Иначе говоря, и здесь область неопределенности нахо- дится вблизи еР/2, по обе стороны от него, но ввиду несимметричности оценки 3% через Зл эта область несим- метрична относительно #72. Кроме того, при использо- вании S1 для определения интервала нахождения А берем ап —За при «п>За и рп + ап —За при ап<31, в то время как при использовании 3А, нельзя во всех слу- чаях при an<zSA брать рп + ап — $а без анализа харак- тера числа Да- Рассмотрим способ определения знака числа на конкретном примере. Пусть задана система оснований Р1 = 2, р2 = 5- Рз = 7, />4 = 23. Приведем минимальные псевдоортогональные числа для выбранной системы оснований • 0, 0, 12) = 4, 0, 14) Af34=(0, 0, 4, 14) ^2i = (0, 1, 0, 10) Л431 = (0, 0, 1, 4) М35 = (0, 0, 5, 17) М22=(0, 2, 0, 19) М32=(0, 0, 2, 7) А13б = (0, 0, 6, 20) М23=(0, 3 0, 5) М33=(0, 0, 3, 10) Пример. Определить знак числа (1, 1,6, 22). Вычислим след числа А Вычислим SА = (12 +10+20) (mod 23) = 19. —SA = 22-19 = 3; п — 2—(о = 2; (п—2—со) = 11—2 = 9. Здесь выполняется условие (3.76), т. е. 3—1 <^9; откуда число А отрицательное. 118
Когда известен характер числа ЛА, то знак числа может быть определен на основе критерия переполнения. Пусть известны след SA и характер ДА числа А. Образуем сумму А' = А + ^-=‘А + (1, 0, 0, 0) и вычислим критерий переполнения £2. Очевидно, если £2=1, переполнение имело место иЯ>-у, что опреде- ляет положительный знак числа А. Когда £2 = 0, получаем А < -у, т. е. А отрицательное. Рассмотрим выражение для £2. Число -у, как извест- но, имеет след = и характер Д^>= 1. Тогда Т Т £2 = Да4-1—Д до — В + у. Л+т Величина т)га здесь равна нулю и поэтому опущена в выра- жении для £2. Способ использования критерия переполнения для определения знака числа весьма прост, однако он пред- полагает знание характеров АЛ и Д д>, в связи с чем А+Т интересно отметить тесную взаимосвязь между знаком числа и его характером — знание одной из этих величин способ- ствует определению другой. В случае, когда характер ДА непосредственно трудно определить, а возможно определить Д2А, где 2А понимается как результат сложения А + А, к цели ведет следующий способ. Предположим, число А — (а1( а2, . . ., ап) отри- цательное. 1. Вычисляется 2Л = (0, 02, 03, . . ., 0n), S2A и Д2А. 2. Определяется цифра р частного 2А/2 по основанию pi исходя из того, что цифра р по нашему условию является всегда цифрой отрицательного числа. 3. Проверяется совпадение цифр сц и р. Если oil = р, то верно наше предположение о том, что А — отрицательное число. Если же ОС} = 1 — р, то А — положительное число. 119
Рассмотрим пример в системе с основаниями рА = 2, р2 = 5, р3 = 7, р4 = 23. Пример. Определить знак числа А = (1, 1, 1, 2) способом .удвоения. Вычисляем 2А = (0, 2, 2, 4); S2a = (194-7) (mod 23) = 3. Вычисляем (0 2 2 4) -^-у-у-^==(1, 1, 1, 2). Здесь а1 = р1 = 1, т. е. исходное число отрицательное А < 0. Рассмотрим теперь, как может быть введен в явном виде знак числа. Будем сопровождать каждое число А его знаком sign А. Условимся, что цифра этого разряда равна нулю, если Л > 0, и единице, если А < 0. Рассмотрим различные случаи установления знака результата при операции сложения. Случаи 1. Л1 = 4- | Л1 |, Л2 = | Л2 |. Сумма At 4- Л2 здесь положительна и ей следует при- писать знак плюс. Необходимо применением критерия пере- полнения установить факт выхода или невыхода результата из диапазона [0, еР). Случай 2. Л1 — — | Л1 |, Л2 = — | Л2 |. Этот случай симметричен предыдущему. Сумма вычис- ляется обычным путем, ей приписывается знак минус. Необ- ходимо выяснить посредством критерия переполнения, имел ли место выход из диапазона [0, eF). Случай 3. Л1 = + I Л1 |, Л2 = — | Л2 |. Вычисляется сумма 5 = |А| + (^-|Л2|). Здесь переполнения быть не может и критерий перепол- нения должен быть применен в целях определения знака. Действительно, если | Ai |> | Л2 I, то разность | А1 | — — |Л2 | положительна и знак результата положителен. Но тогда s = ^ + (I4|-H2|) будет содержать лишнее &Л, т. е. здесь должно иметь место переполнение. Итак, здесь знак плюс должен сопро- вождать сумму S, если Q = 1, где Й = А । Ai 14- А^>_| Ai ] + Пп—А । Д11+^>_| Аг । — 1 + Y, причем т]п означает переход по основанию рп при сложе- нии цифр ап’ + (Рп —а$’). 120
где aj,1’ и an’ —цифры чисел |A| и |Л2| соответственно по основанию рп- Величина £ отражает переход по основанию рп при сложении следов S|AilH-S^)_1A2r Рассмотрим теперь ситуацию, когда | At | <| А2 |. Здесь разность | ^l — | Л2| отрицательна и знак резуль- тата отрицателен. Тогда сумма s=^+(1Л I-1 а2 I) =&>- (I л21-IAIX^ не будет содержать лишнего cP, т. е. переполнение не будет иметь места и Q = 0. При этом результат будет представлен в виде дополнения до cP и для последующего использования должно быть взято дополнительное к нему число. Случай 4. At = — | At |, Л2 = + | Л2 |. Вычисляется сумма S = Ф — | Лt | + | Л2 |. Этот слу- чай симметричен предыдущему с переменой ролями сла- гаемых. Таким образом, для операции сложения с числами раз- ных знаков, знак результата может быть определен по критерию переполнения. При этом может быть сформулировано следующее пра- вило определения знака суммы. Правило знаков при сложении. При сложении чисел с разными знаками, отрицательное слагаемое заменяется его дополнением до При этом знак полученной суммы положителен и резуль- тат получен в естественном виде, если имело место пере- полнение £2=1. Если переполнение не имело места (£2 = 0), то знак суммы отрицателен и результат получен в виде дополне- ния ДО § 3.8. ФОРМАЛЬНОЕ ДЕЛЕНИЕ Рассмотрим наиболее простой случай, когда делимое нацело делится на делитель. Пусть даны два числа в системе с основаниями pt, р2...рп, а именно: А = (а4, а2, . . ., ап), В = = (₽1, ₽2, • • Рп) И пусть число С = (уъ у2, • • •> 7п) есть частное от деления А на В, т. е. 121
или А = ВС. Для произведения ВС получим выражение 5C = (yiPi kipi, knpn), где ki — целое неотрицательное число, удовлетворяющее условию kt<pi, t= 1, 2, ..п. Приравнивая ВС к А, получим yt = ai+kiPi . (3.78) Выражение (3.78) однозначно определяет цифры частного. Таким образом, деление в случае, когда оно точно выпол- нимо (т. е. когда А кратно В), может осуществляться пораз- рядным делением цифр аг на 0г, Здесь поразрядное деление понимается в том смысле, что если аг непосредственно не делится нацело на 0г, то к аг прибавляется столько раз pi, чтобы аг + k. Pi делилось нацело на 0г (t = 1, 2, . . . . . ., п). При условии kt < pt такое деление единственным обра- зом определит цифру -уг. Заметим, что такое деление воз- можно при дополнительном условии 0г #= 0. Весьма важную роль играет деление на 2 и вообще на степени 2к. Существенным здесь является отсутствие или наличие среди оснований четных чисел, и в частности числа 2. Начинаем рассмотрение со случая, когда среди оснований четных чисел не содержится. Пусть А — четное делимое, для которого известны SA, &А. Пусть далее Обозначим через Sa и Да соответственно след и характер ~2 ~2 числа Л/2. Определение. Назовем цифру а; правильной, если (аг/2, аг/2) является правильной парой, ^неправильной в противном случае. Докажем следующую теорему. Теорема 3.24. Если в системе с нечетными основаниями дано четное число А вида А = (ai, а2, . . ., On) со сле- 122
дом SA, характером ДА и количеством неправильных цифр X, то число, получающееся в результате деления А на два 4 = (01, 02, ...,0Д имеет след Sa (modрп) (3.79) 2 и характер Да = , (3.80) 2 где величины £ и т]п могут быть определены как f 1, если 8А + % нечетное, 0, если 8A + Z четное, (3.81) {1, если ап нечетное, л (3.82) 0, если ап четное. Доказательство. Поскольку в силу условия теоремы Л —четное число, то имеет место 4=4+4- <3-83) По определению следа суммы имеем Sa = (S_a+Sa_ — 6) (modpn), 2 2 где 6 — число неправильных пар в слагаемых Л/2 и Л/2, т. е. S = X; отсюда и следует (3.79). Для определения характера Да применим критерий Т переполнения для (3.83). При этом, естественно, пере- полнение не может иметь места Да/Ь Д-А + Лп— Да — £ “FT = 0» 2 2 откуда вытекает (3.80). Если 8а + нечетное число, то при делении Sa4-a на два для получения Sa необходимо прибавить основа- if ние рп, что равносильно наличию перехода через рп при сложении 8а + 8а_, т. е. £ = 1. Если же SA + к — четное, то Т 2 123
при определении Sa оно нацело делится на два и, сле- 2" довательно, при сложении Sa+Sa не может быть пере- 2 2 хода через рп, т. е. £ = 0. Таким образом подтверждается справедливость (3.81). Что касается %, то оно также определяется по четности или нечетности ап. Действительно, если ап нечетное, то для образования 0„ мы прибавляем к On основание рп и тогда при суммировании 0П + 0П будет иметь место переход через основание рп. Таким образом доказывается справедливость соотношения (3.82). Отсутствие в системе четных оснований создает удобство при делении на 2, но зато затрудняет определение четности или нечетности числа. Рассмотрим ситуацию, когда среди оснований системы есть четное основание. Пусть для определенности pi = 2. Тогда по виду числа А = (alt а2, .... ап) можно судить о его четности, а именно: при «1=1, число А нечетное, при «1 = 0, число А четное. Рассмотрим четное число А = (0, а2, . . ., ап) след SA и характер ДА которого известны. При делении А на 2 получим число -у = (Pi, 02, • • •, Рп), все Цифры которого определены однозначно, кроме цифры 0t по основанию Для цифры pi получаем неопределенность типа у. Вообще говоря, цифра Pi может иметь либо значение 0, либо 1. Обозначим через и (-уХ числа (у)0 = (°> 02< .... Рп) СО следом Sa, (-y)i = (•> 02, • • •, Рп) СО следом Sa . Цифра «1 = 0 может получиться от суммы Pi + Pt как при Pi = 0, так и при Pi = 1, т. е. от суммирования как 2(Л/2)0, так и 2 (Л/2)1. При суммировании 2 (Л/2)0 получающаяся в Л цифра «1 = 0 правильная, так как является правиль- ной пара (0, 0), а при суммировании 2 (Л/2)ь эта цифра неправильная, так как пара (1,1) является неправильной. Учет этого обстоятельства отражается на следах для (Л/2)0 124
и (AI2)i, которые могут быть определены как so =^Ho.(modpn), (3.84) 2 Si = Sa+%o.+ 1... (mod pn)) (3,85) 2 где Xo — количество неправильных цифр в ряду а2, а3, . . . • • •, ^71 - !• Для того чтобы установить, какой из вариантов числа А является искомым, применим критерии переполнения, причем положим Q = 0, так как при умножении -g- на 2 А только истинное не выведет результата из диапазона [О, Я- Исследуем представляющиеся здесь возможности. Выпи- шем критерий переполнения 2Дд + —Дд~^ + у = 0. (3.86) 2 При анализе критерия переполнения мы располагаем зна- чениями величин ДА, SA, Хо, а стало быть, нам известна и величина у- Представим SA + ^o и SA + +1 в виде «$а + = УРп + Рь S а + Ч + 1 = УРп + где pi <.рп — целое неотрицательное число. Рассмотрим возможные случаи, введя для удобства обозначение ( 1, если Да = 1, Да=Н л ( 0 в остальных случаях. Случай 1. Да = 1 Вариант 1.1. ап четное, у=1. Если ап четное, то т]я = 0. В этом варианте критерий переполнения принимает вид 2Да-£ = 0, 2 откуда g = Да = 0. 2 Но это означает, что искомое число имеет ту величину Sa + или SA + + 1, которая четна, или то значение Pt 125
или р2, которое нечетно. Выбор соответствующей вели- чины Зд -|- Хо или Зд + + 1 однозначно определяет по (3.84) и (3.85) значение а именно: 01 = Да Л Ф («п — 1) Д У Л Ф (р2) • Здесь ф (х) есть функция четности числа х, определяемая как ( 1, если х — нечетное число, ф(х) = < (0, если х—четное число. Вариант 1.2. ап четное, у = 0. Критерий переполнения в этом варианте имеет вид 2Ад —1—5 = 0, 2 откуда возможно единственное значение 5 и Ад: Т 5 = Аа = 1. 2 Стало быть, искомым является число, у которого Зд + %о или Зд + %о + 1 — нечетная величина, или рх или р2 нечетное. Отсюда 01 = ДАЛФ(ап-1)ДуЛФ(р2)- Значение в вариантах 1.1 и 1.2 может быть опреде- лено общей формулой Рх = АдДф (ап—1)Лф (р2). (3.87) Вариант 1.3. ап нечетное, у = 1. В этом варианте т]п = 1. Условие (3.86) может быть переписано в виде 2Ад- 5+1=0, 2 откуда 5=1, Аа=0. 2 Тогда искомым числом является то, у которого Зд + к0 или Зд+ Х0+1 нечетное и рх или р2 четное, т. е. 01 = ДАЛФ(ап)ЛуЛф(р2-1). Вариант 1.4. ап нечетное, у=0. Условие (3.86) принимает вид 2Ад —5 = 0, 2 126
откуда | = Ла = 0 и у искомого числа величина Pi или 2 р2 четная, а стало быть, величина может быть опреде- лена как Pi = Да А Ф(а») Л У Л Ф (р2- О- Значение в вариантах 1.3 и 1.4 может быть определено общей формулой (3.88) Случай 2. ДА = 0. Вариант 2.1. ап четное, у = 1. Критерий переполнения запишется как 2Дд —5+1=0, 2 откуда I — 1, Да = О 2 И _ ₽1 = А^ЛФ(ап-1)ДуЛФ(р2-1). Вариант 2.2. а„ четное, у = 0. Критерий переполнения принимает вид 2Да —£ = 0, 2 откуда £ = Дл=0. 2 Искомым числом является то, у которого pj или р2 — четное число, откуда Pi = ДаЛФ («/»- 1)ДуЛФ (Ра— 1). Общая формула для & в вариантах 2.1 и 2.2 имеет вид ₽! = ДаЛФ(«п- 1)ЛФ(р2- 1). (3.89) Вариант 2.3. ап нечетное, у=1. Условие (3.86) может быть записано в виде 2Да + 2- 5 = 0, 2 отсюда £ = 0, Да = — 1. 2 Стало быть, значение & может быть определено как Р1-ДлАф(ап)ЛтЛФ(р2). 127
Вариант 2.4. ап нечетное, у = 0. Условие (3.86) принимает вид 2Ад +1-5 = 0, 2 откуда |=1, Ад = 0. Тогда 2 Р1 = Ад Д ф (ап) Л 7Л Ф (Рг) • Общая формула для вариантов 2.3 и 2.4 имеет вид р1=МДф(ап)ЛФ(Р2). (3.90) Случай 3. ДА = — 1. Вариант 3.1. ап четное у = 1. В этом варианте критерий переполнения принимает вид 2АдЧ-2 —5 = 0, 2 откуда I = 0, Ад = — 1. 2 Введем обозначение {1, если Ад = — 1, 0 в остальных случаях. Тогда Р1 = А^Дф(ап-1)ДуДф(р2). Вариант 3.2. ап четное, у = 0. Критерий переполнения в этом варианте может быть записан 2Да +1-1 = 0. 2 Здесь g = 1, Лд = 0. 2 Отсюда ₽1 = АдДф(ап— 1)ДуЛФ(р2). Общая формула для р! в вариантах 3.1 и 3.2 принимает вид ₽i = АдДф(ап—1)Дф(р2). (3.91) Вариант 3.3. ап —нечетное, у=1. Напишем вид критерия переполнения 2Ад + 3- 5 = 0, 2 откуда 5=1, Ад = — 1. 2 128
Искомому числу соответствует то из значений или р2, которое является четным. Отсюда Р1 = АлЛ'Ф(ап)ЛтЛ,Ф(р2— 1). Вариант 3.4. ап нечетное, у = 0. Для критерия переполнения получаем выражение 2Да + 2 —£ —О, 2 откуда £ = 0, Да = — 1. Тогда "2 01 = Ал Л Ф (ап) Л Y Л Ф (Рг - 1) • В вариантах 3.3 и 3.4 общая формула для примет вид Pi = Д^ЛФ(МЛФ(р2-!)• (3.92) Рассмотренные случаи могут быть обобщены в следующую теорему. Теорема 3.25. Если в системе оснований р± = 2, Рг, Рз, • • •, Рп задано четное число А = (0, а2, аз, ..., ап), то в частном от деления числа А на 2: — (0Ь р2, • • • Рп), цифры р2, ..., 0п определяются поразрядным делением соответствующих цифр делимого на 2, а цифра опре- деляется соотношением Pi = Ад Л Ф (“п + Рг) V даЛ Ф (“п + Рг — 1), (3.93) где Да определяется как ( 1, если Да равно + 1 или — 1, А ~ I 0, если ДА равно нулю. Характер частного Да определяется "г 1, если Да=1, Ф(ап) = 0, у = 0, — 1, если ДА = О, Ф (“n) = 1, Y = 1, или ДА = — 1, ф (»п) = 1, или Да = — 1, ф (ап) = 0, Y = 1, (3.94) 0 в остальных случаях, а след его о Зд + ^о + р! 2 2 9—1365 129
Доказательство. Доказательство базируется на получен- ных ранее выражениях (3.87)—(3.92). При этом учитывает- ся, что выражения (3.87), (3.88), (3.91), (3.92) посвящены случаям, когда ап и р2 — величины разной четности, а в выражениях (3.89), (3.90) эти величины одинаковой четности, что и отражено в (3.93). Рассмотрим способы определения четности числа при условии, что среди оснований нет четных. Введем предва- рительно следующее определение. Определение. Под формальным делением числа А на число В будем понимать такой процесс, при котором цифры частного получаются как результат поразрядного деления цифр делимого на соответствующие цифры делителя. Теорема 3.26. Если в системе с нечетными основаниями Pi, р2, Рп задано число А = (ан а2, ..., ап) со следом 3А, характе- ром ДА и числом неправильных цифр X и если задано частное от формального деления Л на 2 (4).-<₽-ь........« со следом За и характером Да, то четность или нечет- ность числа А определяется следующим соотношением: ф(Л) = ф(т]п — Да — £ + у), (3.95) где величины т]п и £ могут быть определены как т]л = ф(а„), | = Ф(За + Х). (3.96) д Доказательство. Поскольку получено формальным делением числа А на 2, то в случае, когда А нечетное, частное от деления есть А+^> 2 ’ поэтому при суммировании частного, полученного при формальном делении Л на 2, самого с собой переполнения не будет, если исходное число Л было четным, и пере- полнение будет иметь место, если число Л нечетное. Иначе говоря, ф (Л) = Q 130
или ф (А) = 2Да + 1]п — Да — 1 + Y- 2 Отсюда яр (Л) — Т]п + ДА + в — Y = 2Да. 2 Левая часть полученного выражения четная, что может быть записано как Ф (Ф И) —т]« + Да + £ —Y) = °, откуда и следует утверждение теоремы ф(Л) = ф(т]п —ДА —S + Y)- В ряде случаев, когда требуется определить величину А/2, допустимо применение следующего приема: если заданное число А четное, то ищется величина А/2, если же число А нечетное, то величина (Л — 1)/2. При этом опреде- ление величины ~y~ может быть организовано таким обра- зом, чтобы фактическое вычитание не производилось, а только подразумевалось. Рассмотрим способы вычисления Sa-i и Да-i , когда известны SA, Да» ^а- Введем следующее ~2~ 2 определение. Определение. Цифру аг будем называть неправильной цифрой первого рода, если пара (аг, pt — 1) является неправильной парой, и правильной цифрой первого рода в противном случае. Количество неправильных цифр первого рода в числе А будем обозначать через Хр Цифру а, — 1 будем называть неправильной цифрой второго рода, если пара является неправильной парой, и правильной цифрой второго рода в противном случае. Количество неправильных цифр второго рода в числе будем обозначать через Х2. Пусть задано нечетное число А. Тогда можем написать Л-1=А + (^-1) и Sa-i = SA + S_^>_1 — А(. 9* 131
Здесь при выбранных основаниях является постоян- ной величиной. Тогда для Sa_i справедливо выражение ~2~ Sa + S go . — Xj %2 Sa-! =-------. (3.97) 2 Что касается Ад-i, то вычислим сначала Учитывая, Т" что и что при суммировании Л + (еР—-1) имеет место переполнение, получим Да + Лп — Дд-i — £ + Y — 11 откуда Ад-i = Ад + 'Пп — £ + Y — 11 или, учитывая (3.80) и (3.96), получим Ад-i — 2 Ф (•$ a+S * — М+М+Дд+Лп — £+Y — 1— Ф ((°Сп+Рп — 1) (mod рп)) = 2 . Если ап Ф 0, то т|п = 1 и Ф д + !—^1 + ^2) +Ад — £ + У“Ф (ап— 1) Дд-1 =--------------------9------------------- • 2 Если же ап = 0, то Ф (5 д + 5 * —11 + I2) + Да — 5 + Y — 1 Да-1_ =----------------2--------------- • 2 Таким образом, рассмотрен вопрос о делении числа А на 2, что соответствует сдвигу двоичного позиционного числа на один разряд вправо. Рассмотрим теперь вопрос о делении на 4, что соответ- ствует сдвигу позиционного числа на два разряда вправо. Пусть в системе с нечетными основаниями задано кратное 4 число А со следом SA и характером ДА. Пусть далее поразрядным делением получено А г ~ ~ ч -4"=(Yi» ?2. •••> Yn). Поскольку среди оснований нет четных, можно сказать, что указанным путем 4 однозначно определено. Если 132
обозначим через X' величину л'=6(т.4)+«(24’4)+6(34’ 4)- где 6 —число неправильных пар цифр в соответствующих операндах суммы, то можем написать для Sa выражение Г Sa =^п"’ (3.98) 4 Что касается Да» то оно определится из условия, Т д чтобы-4-, умноженное на 4, не вышло из диапазона [О, еР), а именно: 4Ла 4- Пп (Yn. Yn) + Лп (2ул, Yn) + Л» (Зуп, Yn) — Да — 4 -5(44Н(244)-Ф4‘4)+*(4,4)+ +v(2 4'4)+v(34-4)“°; откуда Да = { Да — Oln (Yn. Yn) + Пп (2yn, Yn) + Лп (Зуп, Yn)) + 4 1 +44'4)+M24’4)+434'4)-(v(4-4)+ +v(24-4)+v(s4-4))} <3-"> Из (3.99) видно, что характер ДА может быть равен еди- Т нице в одном случае, когда все £ равны единице, а все т]п и у равны нулю и Дд = 1 • Так как уп есть частное , то Пп (Yn. Yn) = 0, т]п(2уп, Yn) = 0, T]n(3Yn, Yn) = 0 будет иметь место только в том случае, когда ап кратно четырем. Все £ будут равны единице только тогда, когда величина Sa + A' 4-Зрп кратна четырем. Введем функцию р.(х), определяемую условиями {О, если х кратно четырем, 1, если х некратно четырем. 133
Тогда может быть сформулирована следующая теорема. Теорема 3.27. Если в системе с нечетными основа- ниями р2, рп задано число Д = (а1? а2, ..., ап) со следом SA и характером ДА, делящееся нацело на четыре, и если частное от деления А на четыре = (уъ у2, ..., уп) со следом Sa и характером Да , то для рп = 4k + 1, Т > Г где fe — целое неотрицательное число; значение Да определяется из выражения Т Да = Ж) Лр(5а + Л' + 3) Л Да, (3.100) 4 а для рп = 4k — 1 — из выражения Да ~ р (a7i)Alx + 1)Л Да* (3.101) 4 Доказательство. Прежде всего обратим внимание на то, что любое нечетное основание может быть выражено в виде Pi == 9 (mod 4), где 0 может иметь значение 1 или 3. Но тогда нечетное основание может иметь либо вид pi — 4k + 1, либо вид р. = 1. Далее, отметим, что условие an = 0(mod4) (3.102) является необходимым и достаточным для того, чтобы имело место TlntYn, Yn) = Т)п (2уП) Yn) = T)n (3Yi> Yn) = 0- (3. ЮЗ) Действительно, пусть (3.103) имеет место. Это озна- чает, что при суммировании уп самого с собой четыре раза не было перехода через основание рп. Иначе говоря, = 4уп или ап == 0 (mod 4). Пусть теперь справедливо (3.102). Предположим, что (3.103) не имеет места, т. е. при суммировании самого с собой уп имели место переходы через основание, т. е. ^п — 4уп 1рп • 134
где I—число переходов через основание рп. Поскольку pn = 4k±\, то an = 4yn—откуда ocn s I (mod 4) или ап = (4—/)(mod 4). Но это противоречит нашему предположению (3.102). Далее, выражение И (Зд + А' + Зрп) = 0 для основания рп = 4k + 1 преобразуется в выражение И (Зд + Л.' + 3) = 0, а для рп — 4k — 1 — к виду И (Зд + X' + 1) = 0. Таким образом устанавливается справедливость соот- ношений (3.100) и (3.101), составляющих утверждение теоремы. Рассмотрим теперь ситуацию, когда одно из оснований системы равно четырем. Пусть pt = 4. Тогда кратность числа А четырем приведет к значению cti = 0. Обозначим частное от деления А на 4 А ~, — = (Yi. Y2. •••, Yn)- Для цифры Yi получим неопределенность типа-^-. Возможны четыре значения цифры yt: 0, 1,2,3. Обозначим через ("т)0’ ("т)1’ (т)2’ (т)3 частные от Деления А на 4 с соответствующим значением цифры уР При этом нашей задачей является правильно осуществить выбор соответ- ствующей цифры уР Докажем предварительно следующую теорему. Теорема 3.28. Если в системе с основаниями Pi = 4, р2, ...,рп задана по основанию pt пара цифр (y'v у[), то при основании рп, равном Pn = 4fe + 1, 135
помимо неправильных пар, определенных в общем случае, будут неправильными также и следующие пары: при т1= 1 пары (2, 3) и (3, 3), (3.104) при т1 = 3 пары (1, 1) и (1,2), (3.105) при основании рп, равном pn = 4k — 1, при т1=1 пары (1, 1) и (1,2), (3.106) при /И! = 3 пары (2, 3) и (3, 3). (3.107) Доказательство. При тх= 1 ранги минимальных псевдо- ортогональных чисел для любого у! равны единице. Тогда минимальный след числа (1,0, ..., 0, S*) определится как 51*=[^Pn] + l=[|pn] + 1. Для числа (2, 0, ..., 0, S*) получим $:=[^р»]+1=[трп]+1- Для числа (3, 0, ..., 0, S*) будем иметь S3* = [^pn] + l = [|p„] + l. Оценим правильность пары (2, 3) для основания рп вида рп = 4k + 1. Здесь S* = 3Af + 1, S* = 2^+l, 5J = Jfe+l, тогда S* + S* = 3& + 2 или s;+s:=s*+i, т. е. пара (2, 3) неправильная. Для того же основания рассмотрим пару (3, 3) S* + S* = 2^ + 2 или s;+s*=s:+i, т. е. (3.3) является неправильной парой. Мы доказали (3.104). Перейдем теперь к доказательству (3.106). Пусть pn = 4k—\. Тогда S* = 3k, S* = 2k, S? = fe. 136
Рассмотрим пару (1,1) Sx* + St = 6k = 2k + 1 s:+s*=s;+i, t. e. (1, 1) —неправильная пара. Для пары (1,2) будем иметь $:+$:=*+1 s1*+s2*=s3*+1, т. е. пара (1,2) также неправильная. Этим мы дока- зали (3.106). Перейдем к значению ^ = 3. В этом случае для числа (1,0, ..., 0, S*) имеем ранг r= 1 и S? = ^“4“ Р»] + 1 = [1" Рп] ”1” 1 ’ Для числа (2,0, ...» О, S£) получим ранг г — 2 и M^Pn]+i=[i4+i. Для числа (3, 0, ..., О, S*) ранг г = 3 и Пусть pn=4k-\-\. Тогда Sf=k+1, S*—2k-\-1, St=3&+L Рассмотрим пару (1, 1). Для нее St + St — 2k + 2 и s1*+s*=s:+i, т. е. (1, 1) —неправильная пара. Возьмем пару (1, 2). Для нее s1*+s;=3^+2 st+s^st+i, т. е. (1, 2) —также неправильная пара. Тем самым доказана справедливость (3.105). Возьмем теперь pn = 4k— 1. Тогда S* = k, S% = 2k, S* = 3k. Рассмотрим пару (2,3). Для нее s:+s:=5^=fe+1. Пара (2, 3) неправильная, поскольку s*+s;=s1*+i. 137
Для пары (3, 3) имеем SJ + S* = 6fe = 2^ + l. Эта пара также неправильная, так как s:+s3*=s:+i. Этим доказано утверждение (3.107) теоремы. Следствие 1. Если число А делится нацело на 4, то при вычислении величины Aj ^-«(4’ 4)+« (2 4 - 4)+е(34 - 4) • i = 0, 1, 2, 3, для каждого из альтернативных выражений , Т) ’ (т) среди Ао, Аъ Аг, А3 нет одинаковых по вели- чине, а максимальное значение суть (Аг-)тах = 3. Доказательство. Согласно теореме 3.19 любая пара цифр, дающая в сумме pi = 4, является неправильной, т. е. всегда неправильными являются пары (1, 3), (2, 2), (3, 1). Рассмотрим теперь каждое из Аг (i = 0, 1, 2, 3). Отме- тим, что Хо = 0. Тогда значения^ определяются как \ = 6 (1, 1)4-6(2, 1) + б(3, 1), Аг = 6(2, 2) + 6(0, 2)4-6(2, 2), А3 = 6(3, 3)4-6(2, 3)4-6(1, 3) и можно составить таблицу значений А;. Для ПЦ — 1 получим Рп hi 4&+1 46-1 Ло 0 0 Д1 1 3 Д2 2 2 %з 3 1 138
И ДЛЯ ПЦ = 3 получим Рп 46+1 46-1 Х0 0 0 Xi 3 1 х2 2 2 Хз 1 3 11з сопоставления полученных значений для Хо, Х2, Х3 вытекают сформулированные в следствии 1 утверж- дения. Следствие 2. Если число А делится нацело на 4, то среди следов oi Sa И- За=-----4---= Т 4 альтернативных выражений (-j-)0, (4")1’ ("г)2’ (~г)3 нет одинаковых по величине, а максимальная разность Sa — Sa равна трем. Доказательство. Это следствие непосредственно выте- кает из предыдущего, так как отсутствие равных значений среди 7., не допускает равных значений среди Sa, а огра- ниченность (ЛОтах цифрой 3 определяет и max (Sa — Sa ) = max (Х{1 — Ц) = 3. Из этого следствия вытекает, что каждой цифре yi отвечает своя величина 5д причем можно расположить цифры yi в такой последовательности, чтобы Sa ДЛЯ соседних цифр отличались друг от друга на единицу. Конкретное распо- ложение в различных случаях может быть определено следующей таблицей. 139
т^- = 1 = 3 ol дА Р» = 4*-1 Рп = 4*4-1 рл = 4*—1 Рп = 4*4-1 •$а + ^о 7i=o 71=о 71 = 0 7i=o •S А + ^0 + 1 71=з 71=1 7i=i 71=3 Sa + ^o+2 71 = 2 71 = 2 71 = 2 71 = 2 Sa + %о + 3 7i=i 71=3 71=з 7i=i Теперь можно уже указать путь для выбора нужной цифры у^. Истинной цифрой будет та для которой сумма находится в диапазоне [0, eF). Следовательно, можно воспользоваться условием невыхода из диапазона [0, еР) суммы 4 слагаемых, которое запишем в форме 4Лд + т]п(Уп, Тп) + Пп(2у П, Уп )+Пп(ЗуП, Уп)- -^-ЧШ4ГН(т*' (4)*)- Пусть в системе с основаниями pi = 2, р2, ..., рп число А = (а15 а2, ..., ап) делится нацело на четыре. Тогда для результата -^- = (у1, у2, ..., уп), в котором цифры у2, уз, ..., уп получены поразрядным делением цифр а2, а3, ..., на четыре, могут представиться две воз- можности: Yi = 0 или Yi = 1. Если Yi = 0, то число Л/— общее количество неправильных пар, возникающих при вычислении А как суммы 140
будет исчисляться на основании цифр А, где ноль в разряде Pi будет считаться правильной цифрой, так как он не доба- вит никаких изменений в величину Хо, исчисленную по остальным цифрам. Если же yt = 1, то, очевидно, X' должно быть исчислено по цифрам остальных оснований (кроме рА с прибавлением 2, поскольку (1, 1) является неправильной парой и ее участие в слагаемых дает 2 неправильные пары. Таким образом, в случае Pi = 2 со __ Sa + ^o Sa-------— или Sa-----5 § 3.9. ДЕЛЕНИЕ НА ФИКСИРОВАННОЕ ЧИСЛО До сих пор мы рассматривали наиболее простой случай деления, а именно когда делимое нацело делилось на дели- тель. В общем же случае деление представляет одну из наиболее трудоемких арифметических операций. Даже в цифровых вычислительных машинах, рабо- тающих в позиционной системе счисления (например, в двоичной), операция деления стоит особняком и время ее выполнения примерно на порядок выше времени выпол- нения большинства элементарных операций. В системе остаточных классов трудности деления усу- губляются тем, что эта операция в общем случае не является «остаточной», т. е. цифра частного по отдельному основанию уже не определяется только цифрами делимого и делителя по этому основанию, а требует в той или иной форме инфор- мации о значениях делимого и делителя в целом. В общем случае деления числа А на константу d следует различать две возможности: — когда d не является основанием системы и — когда d входит в систему оснований. В первом случае трудность состоит в установлении самого факта делимости А на d или, что то же, в приведении числа к ближайшему к нему числу А', делящемуся нацело на d. Само же деление может производиться поразрядно. Во втором случае легко определяется, делится ли А на d, также легко определяется и ближайшее к Л число А', деля- щееся нацело на d, но зато определение цифры частного по основанию рг = d требует раскрытия неопределенности, 141
для чего и возникает необходимость привлечения информа- ции о всем числе. Рассмотрим более подробно случай, когда d не является основанием системы счисления, т. е. d = (6Ъ 62, • • •> 6П). Формальное частное, получающееся при делении числа А на d, А = (аь аг, ..., ап) может быть записано в следующем виде: ( ^пН-^пРп^ \а)ф k di ’ б2 б» /’ где kt = 0, 1, 2, . . ., pt — 1 (i — 1, 2, . . ., п) — неотри- цательное целое число, такое, что аг + kt pt нацело делится на 6г. Если через М обозначить искомое частное, то число А может быть представлено в виде А = Md + t (/< d), тогда формальное частное равно (А\ _A+k& \с1)ф~ d d где k — целое неотрицательное число. Отсюда Ж=(4)Ф-Ч^- <31°в) В случае малого d (ориентировочно d < рп) этот способ может рассматриваться как алгоритм деления на d. При этом должна выдерживаться следующая последовательность действий: 1. Определяется величина «= (4) »=«" ^®........»s”) поразрядным делением А на d 2. Определяется минимальный след числа Q и вы- числяется гПп^ — Sq) (mod рп). 3. По —Sq определяется число R = (rit г2, ..., гп), которое вычитается из Q, образуя М. Приведем примеры, иллюстрирующие реализацию рассмотренного алгорИ1ма деления. Выберем для этой цели нормированную систему с основаниями: Pi = 2, р2 — 5, р3 = 7, р4 = 23, диапазоном Ф — 1610 и ортогональными базисами: 5^805, В2==966, В3 — 1380, В4 = 70. 142
Вычислим таблицу констант £ для деления на d~ И. Констан- ты R находятся из следующих соображений: рассматривается ближай- 1610 шее целое число к величине -т-= 146,36 т. е. R< = 147 == all 1 = (1, 2, 0, 9). Здесь величина округляется в большую сторону, так как в (3.108) стоит знак минус. Далее, находим ближайшее целое число к = 292,73 ..., т. е. /?2 —293 (1, 3, 6, 17) и т. д. Если известно значение (a^ — Sq) (mod рл), то это означает, что известен интервал, в котором находится число Q. При этом остаток от вычитания из Q не может превышать и в ряде случаев можно получить неоднозначность, поскольку как разность Q — ср так и разность Q — (& + 1) могут дать остатки меньше -j- в зави- симости от величины числа А. Обозначим вторую возможную кон- станту через /?', а остаток, получающийся в этом случае, через tr. Тогда для определения констант по значениям — Sq может быть предложена следующая таблица. R R' t t' 0 0 0 0 0 1 0 0 0 0 2 0 (1,2, 0, 9) 0 7 3 (1,2, 0, 9) 0 7 0 4 (1,2, 0, 9) (1,3, 6, 17) 7 3 5 (1,3, 6, 17) 0 3 0 6 (0, 0, 6, 3) 0 10 0 7 (0, 0, 6, 3) 0 10 0 8 (0, 0, 6, 3) (0, 1, 5, 11) 10 6 9 (0, 1, 5, 11) 0 6 0 10 (0, 1, 5, 11) (0, 2, 4, 19) 6 2 И (0, 2, 4, 19) 0 2 0 12 (0, 2, 4, 19) (1, 4, 4, 5) 2 9 13 (1, 4, 4, 5) 0 9 0 14 (1,4, 4, 5) (1, 0, 3, 13) 9 5 15 (1, 0, 3, 13) 0 5 0 16 (1, 0, 3, 13) (1, 1, 2, 21) 5 1 17 (1, 1, 2, 21) 0 1 0 18 (1, 1, 2, 21) (0, з, 2, 7) 1 8 19 (0, 3, 2, 7) 0 8 0 20 (0, 3, 2, 7) 0 8 0 21 (0, 4, 1, 15) 0 4 0 22 (0, 4, 1, 15) 0 4 0 143
Если Л таково, что —Sq не приводит к однозначному R, то делению подвергается Л —г, по нему вычисляется Q и тогда a^ — Sq дает либо / = 0, либо f = 4, что уже позволяет однозначно определить R и, следовательно, Л4. Пример. Разделить Л = (0, 4, 2, 10) на d = (l, 1, 4, 11). 1. Вычисляется 0-(АЛ _(0, 4, 2, 10)_ Q~ k d 1, 4, 11)-(0’ 4’ 4’ - 2. Вычисляется а(Ф>_ Sq = 3 - 4 (mod 23) = 22. 3. В таблице по —Sq находим Z? = (0, 4, 1, 15), тогда М = (0, 4, 4, 3) —(0, 4, 1, 15) = (0, 0, 3, 11). Пример. Разделить Л = (1, 1, 5, 7) на d = (l, 1, 4, 11). Вычисляется 1. 2. Н4)Ф=4444г‘'-'^- Вычисляется a<®>—Sq=9-8 = 1. В таблице находим /? = (0, 0, 0, 0), откуда Л4=(1, 1, 3, 9). 3. ] ..................... Пример. Разделить Л = (1, 2, 4, 1) на d = (lt 1, 4, 11). 1. Вычисляется 2. Вычисляется a<,w-Se=21-ll = 10. 3. В таблице находим /?=(0, 1, 5, 11), /?' = (0, 2, 4, 19), t = 6, t'=2. Здесь возникла альтернатива, образуем 4 —Г = (1, 0, 2, 22) и = i’^’, п^а.О. 4,2). Вычисляется a^— Sq = 2—2 = 0. Верная цифра t' = 2 и тогда Л4 = (1, 0, 4, 2). Примечание. В последнем примере вычислялось Q' как фор- Л — V „ мальное частное —. На самом деле тот же результат будет получен просто вычитанием Q — R'. Рассмотрим теперь более общий случай деления числа А на произведение целых неотрицательных чисел D D — did2 • • • 144
(3.109) (3.110) когда где все dt (i =1, 2, ..., k) — взаимно простые числа. Деление на D производится на основании следующей теоремы. Теорема 3.29. (О делении на произведение чисел.) Если в системе с диапазоном cP задано число А и задано k вза- имно простых целых неотрицательных чисел d2, • • • . . ., dh, то всегда можно подобрать независящие от А целые числа pb Рг, ..., Цл, такие, что имеет место соотношение = pji + р212 + ... + где k суть отдельное частное: = 0=1, 2, ..., k) или, что то же самое 1 И1 . М2 . _. _ , . dtd2... dk di ' d2 ’' ’ ~ dk Доказательство. Рассмотрим случай k = 2, имеются два сомножителя dt и d2. Тогда (3.110) запи- шется как = t + ™ нА + М.= 1- (З.Ш) Но поскольку di и d2 — взаимно простые целые неот- рицательные числа, то всегда могут быть найдены целые числа р»! и р2, независящие от Д, такие, что имеет место (3.111). Далее применим метод индукции. Пусть теорема верна для s сомножителей. Покажем, что она верна и для s + 1 сомножителей. В самом деле, покажем, что у Ив+1 = 1 did2 • • • ds ds+l did2 ... dSJri 1 где v —целое число. Для этого должно иметь место равенство y^s+i + Ps+i (did2 ... ds) = 1, или, что то же, vds+i+ ps+i (did2 ... ds)~ 1 (mod #>). 10-1365 145
По соображениям, изложенным выше, последнее равен- ство всегда имеет место, что и доказывает теорему. Замечание. Точность выражения (3.109) определяется точностью входящих в него отдельных частных. Если отдель- ные частные вычисляются приближенно, то и окончатель- ный результат является приближенным. Пример. В системе с основаниями: pt = 2, р2 = 5, = Р4—23, в качестве отдельных делителей примем d1 = ll~ (1, 1,4, 11), d2~ = 13 = (1, 3, 6, 13). При этом делитель D будет D = d^— 143, а равенство (3.110) примет вид 1 _.Р1 , Р2 143 11 13 ’ откуда ^=—5, р2=-6. Разделим число А = 884 = (0, 4, 2, 10) на D— 143 = (1, 3, 3, 5). Найдем предварительно отдельные частные д А -£- = (0,0,3,11), -£-=(0,3,5,22). 11 1 о Тогда та- ~s (4) +»(4) - = -(0, 0, 1, 9) + (0, 3, 2, 17) = (0, 3, 1, 8) = 8. Результат получился неточным, поскольку отдёльные частные были вычислены приближенно. Значительно лучше было бы взять 1 1 Pi = -£-, Рг——2 » т- е- исходить из тождества 1 1 1 2-11 2.13“1113’ Тогда А (0, 0, 3, 11)-(0, 3, 5, 22) 143 =-----(б; 2, 2, 2)----= (0, 1, 6, 6) = 6. Этот результат точнее приближает число и отличается 14о от предыдущего на две единицы, но при этом щ и р2 являются нецелыми числами. § 3.10. ДЕЛЕНИЕ НА ОСНОВАНИЕ СИСТЕМЫ Перейдем теперь к рассмотрению деления числа А на одно из оснований системы с основаниями рь р2, . . рп. Пусть нам надо разделить число А = (а1? а2, ...» ап) на pi (одно из оснований системы). Без нарушения общно- сти можно полагать, что число А делится нацело на pi9 146
т. е. az = 0, так как в противном случае мы могли бы рас- сматривать деление числа А' = А — аь удовлетворяющее лому условию. Пусть далее pi = (Др л2, ..., эъ-ь 0, pt, ph ..., pi). Тогда -£- = (Yi, Y2, •••, Yi-b Yi, Yi+1, , Yn) = Pl (ai fti-i 0 az+i <xn\ \ TC j. ’ JT2 1 1 Лг-I ’O’ Pi ’ Pi / Здесь все цифры частного A!piy кроме цифры yt, определя- ются весьма просто — формальным делением цифры на соответствующую цифру рг. Поэтому задача получения частного Alpi в данном случае сводится к раскрытию этой неопределенности. Рассмотрим ряд способов определения цифры yt. Теорема 3.30. Пусть в системе с основаниями piy р2, . . . . . ., рп и диапазоном cP задано число А = (аь а2, . . . . . ., ап) с минимальным следом SJ, делящееся нацело па одно из оснований системы pt, так что полученное частное суть -^- = (Y1. Y2, •••> Yn). Pl Тогда в качестве цифры yi по основанию pi в частном должна быть взята такая цифра, чтобы минимальный след частного S*a был равен SX = Yn-[ • (З.И2) Pt Доказательство. Поскольку 5*д суть минимальный след частного, то имеет место соотношение ^(Yn-S*A)<A<(Yn-S*A+1)^. (3.113) Рп — Р. — Рп Соответственно для исходного числа А имеем (ап-«1)^<Л<(ап-514-1)-^-. (3.114) Рп Рп Деля последнее неравенство на pi, получим an-Sl А «п-Sl+l ф (3 115) Pi Рп Pi Pi Рп ' ' 10* 147
Учитывая, что и an-Sl+l |~ an-Sj -I j Pi Pi ’ неравенство (3.115) может быть записано в виде г «п-Sl -1 Л fr «п-$л ~| , j) Ф_ L Pi J Рп Pi tl Pi J I" Г рп Сопоставляя полученное неравенство с (3.113), получим откуда и следует (3.112). Следствие. Доказанная теорема определяет следующий алгоритм раскрытия неопределенности в рассматриваемом случае: 1. По S1, ап и pi вычисляется величина ₽] 2. Вычисляются цифры формального частного Alpi, кроме цифры у;- 3. Вычисляется минимальный след частного 4. Вычисляется сумма Q = (5?! + Sy2 + • • + l + S*i+1 + ... + Syn_j) (mod pn). 5. Вычисляется (^)$ = (S*A-Q)(modpn) Pt и по (5у.)ф определяется такая цифра у., для которой разность S(j. — (Зу.)ф минимальна. Проиллюстрируем рассмотренный метод примером. Пусть задана система оснований: р± = 3; р2 — &; Рз~?< Pt —13; pj = 31; с диапа- зоном ^° = 42 315. Ортогональные базисы этой системы равны: В1 = 23210, В2= 16926, В3=12090, В4 = 26040, Bs=1365. 148
Пример. Разделить число А = (1, 0, 0, 1, 25) с минимальным следом Sa = 23 на основание р2 = 5 = (2, 0, 5, 5, 5). В соответствии с вышеприведенным алгоритмом, производим следующие действия: 1. Вычисляем 2. Вычисляем цифры формального частного (А)ф_(2,тг,„,8,5, 3. Вычисляем минимальный след частного Sa_=5-0 = 5. Р2 4. Вычисляем сумму <2 = 21+3 = 24. 5. Вычисляем (5*2)ф = (5-24) (mod 31) = 12. Из таблицы минимальных псевдоортогональных чисел по основанию р2==5: Л412 = (0, 1, 0, 0, 19), М22 = (0, 2, 0, 0, 7), ЛТ32=(0, 3, 0, 0, 25), М42=(0, 4, 0, 0, 13), находим 5*2=13. Отсюда у2 = 4. Таким образом, окончательное частное суть -^- = (2, 4, 0, 8, 5). Р2 Хотя этот способ и состоит из ряда операций, перечис- ленных в некоторой последовательности, однако почти все они могут совершаться параллельно и поэтому данный способ почти не растягивается во времени. На основании теоремы (3.30) можно организовать деле- ние и на произведение нескольких оснований, выполняя параллельно деление на каждое основание в отдельности. Рассмотрим в качестве примера деление на произведение D = 5-7 = 35. Пример. Разделить число А — (1, 0, 0, 1, 25) на р2р3 = 5-7 = = (2, 0, 5, 5, 5) (1, 2, 0, 7, 7) = (2, 0, 0, 9, 4). Деление на произведение может быть выполнено параллельно А А и одновременно определены величины и -=-, а затем опреде- О I А А лено . Частное было нами определено в предыдущем при- □о о мере, а именно д А “4 = <2, 4, 0, 8, 5). Р2 ° 149
Определим частное Рз 7 1. Вычислим 2. Вычислим цифры формального частного Ч”2'8’' 3. Определим минимальный след частного Й =8—0 = 8. РЗ 4. Вычислим сумму Q = (U +24) (mod31) = 4. 5. Определим (5*3)ф: (5*3)ф = 8 —4 = 4, откуда у3 = 3. Таким образом, получаем л — = (1, 0,3, 2, 8). Рз Теперь частное от деления числа А на произведение основа- ний Р2Р3 может быть определено на основании теоремы 3.29 о деле- нии на произведение чисел, а именно: А А . А = Pi-к Иг--, Р2РЗ---------------Р2 РЗ где p-i и Ц2—целые числа. Здесь = —2, ц2 = 3, тогда А А -^- = ++=-(1, з, 0, 3, 10) + (0, 0, 2, 6, 24) = (2, 2, 2, 3, 14)= 107. Р2Рз *50 Действительно, -^- = 3745=107. РгРз 35 § 3.11. ОБЩИЙ СЛУЧАЙ ДЕЛЕНИЯ Рассмотрим теперь деление числа А на произвольный делитель В. Здесь можно было бы построить процесс, в точ- ности воспроизводящий обычный алгоритм позиционного деления, реализуемый последовательными вычитаниями и сдвигами. Однако представляется целесообразным пос- троить деление таким образом, чтобы в возможно большей 150
мере использовать специфику операций в остаточных клас- сах. В этом плане в качестве элементарной операции деле- ния можно принять деление на какое-либо из оснований, выполнение которого было уже описано выше. Рассмотрим следующий процесс. Пусть одно из основа- ний системы pi ~ 2. Примем 2 в качестве элементарного делителя. 1-й эта п: делим В на 2. Получаем Bi, делим В4 на 2, получаем В2 и так k раз, где Bk = 1. Параллельно с этим делим А : 2, получаем Aif делим Ai : 2, получаем А2 и так до Ak. Число Ak является первым промежуточным частным. 2-й этап: вычисляется 1-я невязка А —BAh = С(1\ 3-й этап: вычисляется £(1) р(1). р(1). . 1 p(i) 4-й этап: вычисляется 2-я невязка С(1)— С™-В = С™. Эти этапы повторяются до тех пор, пока невязка не сведется к нулю. Тогда частное c = 4=A+ck1)+...+cl°, где Скг+1) = О. Замечание. Всюду, где рассматривается деление на 2 имеется в виду либо точное частное, когда делимое кратно 2, либо ближайшее меньшее к нему. Этот алгоритм деления может быть различным образом модифицирован с целью ускорения его сходимости. Однако мы не будем останавливаться на этих модификациях, а рас- смотрим развитие этого алгоритма с применением несколь- ких оснований. Дело в том, что использование только одного основания, равного 2, требует сравнительно большого числа делений внутри этапа до тех пор, пока разделенный делитель не станет равным единице. Поэтому целесообраз- но использовать несколько оснований с тем, чтобы, с одной стороны, уменьшить объем операций внутри этапа, а с дру- гой — сократить число этапов. Выберем три основания pi = 2, р2 = 3, р3 = 5. Как и выше, элементом, определяющим характер и объем операций, является делитель В = (Pi, р2, . . рп). Содержание этапов в этом случае таково: 151
1-й эта п. Вычисляются частные где piv pi2, . . ., pik — какие-либо из оснований 2, 3, 5. Выбор основания, на которое надо выполнять деление в каждом случае, определяется следующим образом: а) если Рз— 0, 1 или 4, то деление выполняется на рз = 5, причем при |33 = 1 делитель В уменьшается на 1, а при р3 = 4 делитель В увеличивается на 1. Если же р3 = = 2 или 3, то рассматривается цифра по основанию р2; б) если р2 = 0, то деление выполняется на р2 = 3, если р2 = 1 или 2 и Pi = 1, то также выполняется деление на р2 = 3, причем при р2 = 1 делитель уменьшается на 1, а при р2 = 2 делитель увеличивается на 1. При р2 = 1 или 2, a Pi = 0 деление производится на р± = 2. Параллельно с этим производится деление А на те же частные, на которые делилось В, причем округление до кратного должно производиться в тех же направлениях (т. е. вычитанием или сложением), что и при делении дели- теля. Таким путем получается первое промежуточное частное Ah. 2-й этап. Вычисляется первая невязка С(1) = А — — BAk. 3-й этап. Выполняется, как и первый этап, но при делимом С(1). При этом, если имеется возможность запомнить соответ- ствующие делители р<х, Рг2, • • Pik и характер округле- ния, проведенного для получения кратного при делении на эти делители, то нет надобности повторно производить деление В и содержание этапа сводится лишь к делению С(1), т. е. к получению Схп, С2\ . . ., С/Л Если Ch} = 0, то деление на этом заканчивается, если же Ck} 0, то вычисляется невязка С(2) = С(1) — ВС^ и с ней поступают аналогично. Так повторяются этапы вычислений промежуточных частных и невязок вплоть до получения нулевого проме- жуточного частного C(k = 0. Полное частное с=4=лА+а1,+аг’+...+сГ1). 152
Пример, Задана система с основаниями: Pj = 2, р2~3, рз=>5, р4— 11, р5 = 13, с диапазоном ^> = 4290. Разделить число Л = (1, 0, 1, 3, 1) на число В = (0, 1, 3, 8, 1). 1-й этап: вычисляются: в<_(0,1.з.8,1>_)1|2 в 0.0. 5- «)^(0, о, 2, 1, ,2)1 5 о Вз.<0. »• S' 1. □ (о. . «,4. ?. ; s.s>.(,.!, О о Параллельные операции с делимым: Л!0, 0.1.3. 1)^(0. 2. 0, 2,0)^№ ь 01 , 0)1 л!=<Ы4А»>_(о,2.1,9.о), и Л3=^ЛЬ.,Ми<1»°’2’10’.Р = (1,1, 4, 7, 9), О о Л4=(Ь к.4.7,9и(0, 2, 0, 8,10)__(()^ ,, 3j 2) О о Первое промежуточное частное Л4=(0, 1, 3, 6, 2). 2-й этап: вычисляется первая невязка С<1> = (1, 0, 1, 3, 1) —(0, 1, 3, 8, 1)-(0, 1, 3, 6, 2) = (1, 2, 2, 10, 12). 3-й этап: повторение 1-го этапа для С(1) = (1, 2, 2, 10, 12) с,„Е(1.г.2.10,12)^(0.1.Ь9,11)д№ 21 3 ,0112). с,„_(0, 2,3,10, 12)^10,!, 0,1,1>_(11| 21 ь 9 8)1 О о е,„ = <0, 2. l,9.8)^(l,0,2 10.9)_(1. а 41 7, 3)т О о Са> = (к.^_3)^(^ф^^ = (0, о, 1, 6, 6). О о Второе промежуточное частное С£х> = (0, 0, 1, 6, 6). 4-й этап: вычисляется вторая невязка С<2>=(1, 2, 2, 10, 12) —(0, 1, 3, 8, 1)-(0, 0, 1, 6, 6)«= (I, 2, 4, 6, 6). 153
5-й этап: повторение 1-го этапа для С<2) = (1, 2, 4, 6, 6) С<^(Ь 2;.4, 6,6)^(0и^А5) = (0| 2) 4) 8> 9)> ^, = (0>.2>.ф.«.9к<1»0’0’9, 10) = (Ь °, 0, 4, 2), 5 5 О2» =(1’ О, 0, 4, 2) = (1, 2, 5)> О с*2*^1’ 2’ в’ 5> 5)=(i, 1,1,1,1). о На этом деление можно закончить, так как следующая невязка обязательно уже будет нулем. Составим частное ЙЦЦ4Ц^ = (0, 1, 3, 6, 2) + (0, О, 1, 6, 6) + 1, о, о, 1) + (1, 1, 1, 1, 1) = (1, 2, 0, 2, 9). Сделаем некоторые замечания к описанному алгоритму: 1. Выбор оснований рг19 pi2, . . pik для конкретной системы оснований может быть осуществлен различным образом, но обязательно увязан с особенностями этих оснований. 2. Совокупность условий, по которым в каждом отдель- ном случае в первом этапе осуществляется выбор конкрет- ного основания ИЗ совокупности Рг1? Рг2, • • •> Pik1 может быть различным образом сформулирована. В частности, могут быть сформулированы условия, которые бы тем или иным образом учитывали также и цифры делимого. Такого рода более уточненные условия могли бы в значительной мере уменьшить количество итераций (этапов) и объем опе- раций по каждому этапу. В этом случае может оказаться, что играющий ведущую роль делитель мог бы на различных этапах по-разному определить совокупность pil9 pi2, . . . • • - P*r Определение аналитическим путем необходимой сово- купности элементарных делителей, совокупности условий для их выбора и оценки сходимости представляется затруд- нительным и вряд ли целесообразным. Основным методом исследования этих вопросов является метод статистиче- ского моделирования, при помощи которого показано, что среднее число итераций, которые следует провести для получения частного в довольно широком диапазоне (поряд- ка 1010), не превышает трех.
ГЛАВА САМОКОРРЕКТИРУЮЩИЕСЯ КОДЫ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ § 4.1. О КОДАХ С ОБНАРУЖЕНИЕМ И ИСПРАВЛЕНИЕМ ОШИБОК Многочисленные исследования, проведенные за послед- нее десятилетие, убедительно обосновали возможность построения таких систем передачи информации, в которых за счет специального кодирования может быть создан имму- нитет против самых разнообразных искажений несущих информацию сигналов. Совершенно четко сформировалась точка зрения, что борьба за высокую надежность передачи информации, т. е. за достоверность восстановления инфор- мации на приемном конце линии передачи, должна вестись не столько совершенствованием технических средств пере- дачи информации, где любое возможное повышение надеж- ности достигается дорогой ценой и порой требует разработ- ки сложных защитных мероприятий, сколько применением таких способов кодирования информации, которые были бы устойчивы по отношению к возможным случайным искаже- ниям информации, понимая под этим способность путем соответствующей обработки принятой информации исклю- чить внесенные в нее возмущения, очистить ее от ошибок и достигнуть полного соответствия тому, что было отправ- лено с передающего конца линии. В то время как повышение надежности передачи инфор- мации техническими средствами, даже если не считаться 155
с экономической стороной вопроса, ограничено уровнем развития техники средств связи и сколь-нибудь значитель- ные достижения в этой области требуют новых технических решений, применение для той же цели специальных кодо- вых систем не содержит никаких принципиальных ограни- чений. Более того, при выборе подходящего кода, обладаю- щего необходимой корректирующей способностью, можно заметно снизить требования к надежности самих линий передачи информации, сделать их более простыми и деше- выми. Для вычислительных средств применение методов спе- циального кодирования диктуется самой насущной необ- ходимостью. Ведь любая вычислительная машина является сама по себе системой передачи и обработки информации. В вычислительной машине происходит постоянно циркуля- ция информации. Хотя в машине и нет длинных линий передач, но зато по имеющимся в ней относительно корот- ким линиям информация циркулирует с огромной скоростью и в больших количествах. Если принять какую-то услов- ную единицу, например прохождение одним двоичным раз- рядом одного сантиметра пути, то в этих условных единицах работа одной вычислительной машины средней произво- дительности за фиксированный интервал времени по пере- даче информации будет соизмерима с работой за такой же интервал ряда больших государственных линий передачи. Поэтому даже с точки зрения только передачи информа- ции при разработке вычислительных средств возникает важная задача обеспечения достоверности всего колоссаль- ного потока информации. А ведь в вычислительной маши- не, кроме того, должна быть обеспечена еще и достовер- ность арифметической и логической обработки информации. Практически без применения методов специального коди- рования обеспечение достоверности в вычислительной машине достигается двойным просчетом для обнаружения правильности или неправильности результатов решения задач и тройным просчетом в случае обнаруженного расхож- дения для выбора правильного результата по совпадающим данным. Такой путь обеспечения достоверности уменьшает фактическую производительность машины по крайней мере вдвое. Отсюда ясно, что обеспечение достоверности какими-либо методами, отличными от указанных повтор- ных просчетов, прямо и непосредственно связано с увеличе- нием производительности вычислительных машин. 156
Для каждого специального кода, от которого требуется, чтобы он обладал способностью к обнаружению и коррек- ции ошибки, характерно наличие двух групп цифр — информационной и контрольной. В информационную группу входят цифры, составляющие числовое значение закодиро- ванной величины, а в контрольную — цифры, дополни- тельно вводимые для целей обнаружения и коррекции воз- можных искажений при передаче. Эти дополнительные циф- ры являются избыточными с точки зрения числового значе- ния величины и удлиняют общую протяженность кода, что, разумеется, несколько уменьшает в конечном итоге про- пускную способность канала при последовательной пере- даче и увеличивает количество каналов при параллельной передаче. Однако эти обстоятельства должны окупаться теми возможностями, которые доставляют избыточные цифры для обнаружения и исправления ошибок. Обозначим через У А и К а соответственно информацион- ную и контрольную части кода А. Контрольная часть является функцией информационной части: К а = Р (Ja) Вид функции F и, следовательно, характер вводимых в код контрольных цифр определяются принятой системой кодирования. Пусть в данной системе передачи и обработки информа- ции принято n-разрядное двоичное позиционное представ- ление числовых величин, т. е. все операции производятся над числами (отвлекаясь от масштабов) в диапазоне [0,2п). Введя в представление еще т контрольных двоичных цифр, будем оперировать с числами в диапазоне [0,2п+т). Однако это расширение общего диапазона отнюдь не увеличивает диапазона, в котором могут представляться и обрабатывать- ся числовые данные, поскольку введенные разряды не несут информационных функций. Пусть весь код А записывается совокупностью двоичных цифр 8; Л = {еь е2, . ®n+l> £п+2> • • ч ®n+m}- Здесь t7A = {el» ®2, •••, 6n}i Ка ~ {Sn+1, еп+2, •••) 8n+m}- Основной особенностью всех известных до настоящего вре- мени специальных позиционных кодов является неравно- правность информационной и контрольной частей кода относительно арифметических операций. Пусть У А, К л и Кв суть информационные и соот- ветственно контрольные части кодов чисел Л и В, и пусть 157
над и JB должна быть совершена некоторая арифмети- ческая операция / (J А, JB). Обе части кода были бы равно- правны, если бы операция f совершалась над полным кодом, т. е. вычислялась бы величина С = НЛ, В), (4.1) причем $С = Ша, Ув)> Тогда, вычислив Ко = F и сопоставив его с Кс — фактической контрольной частью кода С, можно проконтро- лировать правильность выполнения операции /. Еще более равноправность обеих частей кода была бы выражена, если бы помимо (4.1) имело место также и равенство = КВ)- Между тем в известных позиционных кодах операция f производится не над полным кодом чисел Л и В, а над dА И JB, т. е. получается С1^/ (J А, JB), а Кс вычисляется как F (С1), после чего составляется полный код С, для которого Jo = С1. Здесь К а и Кв в арифметической опера- ции не участвуют, что не дает никакой возможности по контрольным частям компонентов арифметической опера- ции составить контрольную часть результата, т. е. исклю- чается возможность контроля правильности выполнения арифметических операций. Именно это свойство специальных позиционных кодов — их неарифметичность — препятствует их при- менению в вычислительных машинах, поскольку введенные контрольные разряды не позволяют контролировать резуль- тат арифметической операции, в то время как этот контроль для вычислительной машины не менее важен, чем контроль передачи информации. В настоящее время в связи с разработкой машинной арифметики в системе остаточных классов возникла воз- можность построения непозиционных кодов, обнаруживаю- щих и исправляющих ошибки, и вместе с тем полностью арифметичных кодов, где информационная и контрольная части совершенно равноправны относительно любой опе- рации. Рассмотрим систему с основаниями pif p2f . . ., рп и диапазоном = pi-p2- . . • рп- В дальнейшем диапа- зон еР будем называть рабочим диапазоном системы. Введем основание рп^ взаимно простое с любым 158
из принятых оснований и будем представлять числа в сис- теме из n + 1 оснований. Это означает, что будем передавать числа и производить операции над числами, лежащими в диапазоне [0, еР), в более широком диапазоне [О, Р), где Р = &Рп + 1- В дальнейшем диапазон Р будем называть полным диапазоном системы с одним контрольным основа- нием. Так как мы условились, что все числа, с которыми опери- рует вычислительная машина, должны лежать в диапазоне [О, оР), то очевидно, что если в результате какой-либо опе- рации или при передаче числа оказалось, что получено число Л, большее еР, то, значит, при проведении операции была допущена ошибка. Будем в дальнейшем числа, меньшие еР, называть правильными, а большие <£Р — неправиль- ными. Теорема 4.1. Пусть основания р2, ..., рп, Рп+\ системы остаточных классов удовлетворяют условию Pi<Pn+l, i = 1, 2, ..., л, и пусть Л = (ао а2, ..., ап, ап+1) — правильное число. Тогда число А = (аь а2, ..., аг, ..., ап, ап+1), где 4 = 1, 2, ..., л, л + 1 является неправильным. Доказательство. Правильность числа А по определе- нию означает, что Pn + i 1 но так как Pi Рп+1 i — 1, 2, ..., п + 1, р Pi то и подавно Коль скоро агУ=ось число А не может находиться в ин- гА Р \ тервале 0, —1 , следовательно, Pi 159
а тогда имеет место Т У Р Pn+i ’ т. е. Л является неправильным числом. Таким образом установлен весьма важный факт, опре- деляющий возможность построения обнаруживающих и корректирующих кодов в системе остаточных классов, а именно: любое искажение цифры по одному какому-либо разряду превращает это число в неправильное и тем самым позволяет обнаружить наличие искажения. Более того, существует только одно-единственное значение этой цифры, которое может превратить неправильное число в пра- вильное. Как видим, теорема доказана в предположении, что дополнительно введенное основание больше любого из оснований системы. Это определяет правило выбора кон- трольного основания pn+i — оно должно быть большим любого основания системы. Необходимо заметить, что тем же путем может быть доказан несколько более сильный факт. Пусть среди осно- ваний есть такие малые основания pjlt р^2, . . ., jty , что k — П Pit = P<Pn^l. t=l 1 Тогда любые искажения в цифрах по нескольким или даже по всем этим основаниям превращают правильное число в неправильное, и, следовательно, во всех этих случаях наличие искажений может быть установлено. Для доказательства можно рассматривать произведение этих оснований Р как одно основание, и поскольку соблю- дено условие Р < Рп+1> то будет верно и утверждение последней теоремы. Любое же искажение цифры по основа- нию Р может затронуть цифры по нескольким или даже по всем входящим в Р основаниям. Итак, для того чтобы обнаружить наличие или отсутствие ошибки в числе Л, надо сопоставить его с диапазоном При этом, если оказалось Л > еР, значит, имела место ошибка по крайней мере в одной цифре. Если же А < то либо ошибки нет, либо она носит более сложный характер. Рассмотрим некоторые примеры. Выберем систему оснований = 2, Р2 — 3, рз = 5, Р4 = 7, для которой диапазон правильных величин (рабочий диапазон) — 2*3*5*7 = 210. Введем кон- 160
трольное основание р5 = 11. Тогда полный диапазон определяется как: р = 210-11 = 2310. Вычислим ортогональные базисы системы: ^ = (1, 0, 0, 0, 0) = 1155; В2 = (0, 1, 0, 0, 0) = 1540; в3= (0, 0, 1, о, 0) = 1386; В4= (0, 0, 0, 1, 0) = 330; В5 = (0, 0, 0, 0, 1) = 210. Пример. Передано число А — (1, 2, 2, 3, 6) = 17. Вместо него оказалось принятым число А = (1, 2, 2, 5, 6). Для обнаружения ошибки вычисляем величину А Л = 1 • 1155 + 2-1540 + 2-1386 + 5-330+6-210—г2310 = = 9917-9240 = 677 >210. Поскольку принято число А больше 210, оно является неправиль- ным. Тем самым обнаруживается наличие ошибки при передаче числа. Пример. Передано то же число 17. Принято А = (1, 2, 2, 3, 0) — искажена цифра по контрольному основанию. Вычисляем вели- чину А: А = 1-1155 + 2-1540 + 2-1386 + 3-330 + 0-210 —г2310 = = 7997-6930= 1067 >210. Таким образом, А > 210, что указывает на наличие ошибки. Пример. Вместо числа А = 17, принято число Я = (0, 2, 3, 3, 6). Здесь искажению подвергались цифры по основаниям 2 и 5. Поскольку р=2-5 = 10 < р5, это искажение должно быть обна- ружено. Действительно: 4 = 0-1155 + 2-1540+3-1386 + 3-330 + 6-210-г2310 = = 9488 — 9240 = 248 > 210. Итак, 4 — неправильное число. Приведем теперь пример, когда по основаниям, произведение которых превышает 11, могут иметь место необнаруживаемые искажения. Пример. Вместо числа 4 = 17 принято 4 = (1, 2, 2, 0, 0). 4= 1-1155 + 2-1540 + 2.1386 + 0-330 + 0-210-г2310 = = 7007—6930 = 77 < 210. Итак, 4 получилось правильным числом. Факт искажения в двух разрядах не был обнаружен. § 4.2. КОРРЕКТИРУЮЩИЕ СВОЙСТВА СПЕЦИАЛЬНЫХ КОДОВ Для исследования корректирующих возможностей рас- смотренного кода важное значение имеет следующая тео- рема. 11-1365 161
Теорема 4.2. Пусть основания рь р2, . . ., рп, Pn+i системы остаточных классов удовлетворяют условию Pi < Pn+i, 1 = 1, 2, ..и, и пусть А = (аь а2, . . ., а^, . . ап, an+i) — правиль- ное число. Тогда величина А не изменится, если будем представлять его в системе оснований, из которой изъято основание pt (т. е. если в представлении А зачеркнуть цифру az). р Доказательство. Неравенство А < — тождественно неравенству A<PlPz, Pi-iPi+i, •••, Рп+1, и, следовательно, число А может быть единственным обра- зом представлено своими остатками по этим основаниям, что и утверждается в теореме. Определение. Назовем число Аь полученное из А зачеркиванием цифры af,проекцией числа А по осно- ванию pt. Определение. Систему оснований рь р2, • • • , Рп, Pn+i, удовлетворяющую условию Рп < Рп+ii будем называть упорядоченной системой основа- ний. Сформулируем следующую теорему. Теорема 4.3. Если в упорядоченной системе оснований за- дано правильное число Л = (аь а2, . . ., . . ., an, an+i), то проекции этого числа по всем основаниям совпа- дают, т. е. Л^[ = Л2 = . . . = Л^ = ... = Лл+1 < -- . Pn+i Доказательство. Для правильного числа при условии теоремы имеют место неравенства д Р < Р < <JL Pn+i Рп Pi Pi и в соответствии с предыдущей теоремой величину Л сохра- нит его проекция по каждому из оснований. Теорема 4.4 (обратная). Если в упорядоченной системе оснований проекции числа Л = (04, а2, . .., af, . . ., ал, an+i) по всем основаниям совпадают, то число Л правильное. 162
Доказательство. Проведем доказательство от против- ного. Пусть А неправильное число и в нем неверна цифра о/. Заменим ее на правильную Получим число Л = (а1? а2, .. ai, ..ап+1), которое, по предположению, правильно. Следовательно, ('го проекции равны между собой Л1 = Л2 = ... = At = ... = Лп+1. По ввиду того, что At тождественно совпадает с Аг как составленные из одних и тех же цифр, то должно быть Л1 = Ai = А%—Л2 = ... = Ап+1~ Ап+1, что невозможно, так как проекции Aj при /^= i отличаются от Aj цифрой по основанию pt и потому At не может сов- падать с Aj. Таким образом, отвергается предположение о неправильности числа А. ’В ряде случаев по величинам проекций можно сделать выводы о правильности отдельных цифр. Так, например, имеет место следующая теорема. Теорема 4.5. Если в упорядоченной системе оснований проекция Ai числа А -•= (аь а2, . . ., а^, . . ., ап, ап+1) по основанию pt удовлетворяет условию <4-2> то цифра ®i правильная, если возможна лишь одиночная (в цифре по одному какому-либо основанию) ошибка. Доказательство. Допустим, что цифра ошибочная. Поскольку ошибка может быть только одна,, остальные цифры правильные. Следовательно, проекция At как состав- ленная из правильных цифр должна быть правильным числом, а это противоречит условию теоремы. Тем самым доказана несостоятельность допущения об ошибочности цифры af. Следствие. Если (4.2) имеет место для всех Z = 1, 2, . .. . . ., и, то ошибочна цифра an+i. Доказательство. Прежде всего отметим, что проекция Ап+1 всегда является правильным числом и, следователь- но, для нее (4.2) не может иметь места. В условиях след- ствия устанавливается последовательно правильность цифр ai, а2, . . ., an, и поскольку ошибка все же имеется, она неизбежно содержится в цифре an+i. 11* 163
Несколько другой характер носит следующая теорема, позволяющая устанавливать в ряде случаев правильность той или иной группы цифр. Теорема 4.6. Пусть в упорядоченной системе основа- ний число Л = (а4, а2, ..an, ап+1) удовлетворяет условию -^-<л<А Pn+i Pj тогда цифры а2, ..., а7 по основаниям р2, ..., pj правильные, если возможна лишь одиночная ошибка. Доказательство. Прежде всего установим правиль- ность цифры а7 в условиях теоремы. Допустим, что а7- неправильна, а правильной является цифра а7. Обозначим правильное число через А. Тогда можно написать, исходя из разложения чисел Л и Л по ортогональным базисам, что Л = А 4- (а7— а7) Bj = Л+(а> — а;) т7- . Pj ~ р Максимально возможное значение для величины (а7—а7)/п7— _________________________j Pj (отбрасывая целые Р) есть - J---Р, следовательно, Р pi — 1 л<т-+£т-р=р- <4-3) Pj Pj Число Л могло бы быть правильным, т. е. меньшим чем Р -----, только в том случае, если бы от введения исправ- Рп+1-~ ления в виде прибавки (а7 —а7)В7 оно превзошло Р. Между тем неравенство (4.3) показывает, что никаким возможным исправлением цифры а7- этого нельзя достиг- нуть. Стало быть, цифра а7- правильная. Отсюда автома- тически следует и правильность всех цифр по основаниям, меньшим pj, так как неравенство Л<— означает и нера- венства л<-^<-^<...<А Pj-1 Pj—2 Pl а из каждого из этих неравенств в отдельности следует пра- вильность соответствующей цифры. 164
Очевидным следствием этой теоремы является тот факт, что при j = п ошибочной является цифра ап+1. Приведем некоторые иллюстрирующие установленные факты при- меры в системе оснований: pj = 2, р2 = 3, р3 = 5, р^ = 7, р5= 11. Пример. Передано число А = (1, 2, 2, 3, 6) == 17, принято Л = (1, 2, 2, 3, 7). Для обнаружения ошибки вычислим величину А: Л= 1-1155 + 2-1540 + 2-1386 + 3-330 + 7-210 —г2310 = = 9467 — 9240 = 227. Неравенство 227 >210 устанавливает, что А неправильное. р Вычислим —: Pj Р Р Р Р — =1155, — = 770, —=462, — = 330. Pl Р2 РЗ Рк ~ ~ Р Сопоставляя эти величины с Л, получаем, что Л<—, следова- Р4 тельно, ошибочной является цифра 7 по основанию 11. Пример. Вместо числа А = (1, 2, 2, 3, 6) принято Л = (1,2, 2,3,4). Вычисляем величину А Л = 1 -1155 + 2-1540 + 2-1386 + 3-330 + 4-210 —г2310 = = 8837 — 6930=1907. Вычислим проекции числа А. Проекция по первому основанию Л1 = (2, 2, 3, 4). Ортогональные базисы при этом имеют следующие значения: B£n = 385, В^> = 231, В^> = 330, = 210, Pi = 3.5-7-11 = 1155; X = 2-385 + 2-231 +3-330 + 4-210 —г1155 = 752 >210. Проекция по второму основанию Л2 = (1, 2, 3, 4). В этом случае ортогональные базисы равны: В£2) = 385, В<2> = 616, В12) = 330, В(52>=210. Р2 = 2-5.7-11 = 770 Л2= 1-385 + 2-616 + 3-330 + 4.210—г770 = 367 >210. Проекция по третьему основанию Л3=(1,2, 3, 4) Ортогональные базисы имеют следующие значения: В(х3)=231, В<3> = 154, В<3> = 330, В^3) = 210. Р3 = 2-3-7-11 =462. Л3= 1-231 +2-154 + 3-330 + 4-210-г462 = 59< 210. 165
Проекция по четвертому основанию Л4 = (1, 2, 2, 4). Ортогональные базисы для этих оснований таковы: = 165, В£4) = 220, В£4) = 66, В<4> = 210. Р4 = 2*3-5-11 =330. /Ц = 1-165 + 2.2204-2»66 + 4-210 — г330 = 257 >210. Проекция по контрольному основанию Л5 = (1, 2, 2, 3). Вычисляем ортогональные базисы: В<5) = 105, В<5> = 70, В£5) = 126, В<5) = 120. Р5 = 2-3-5.7 = 210. Л5 =Ь 105 + 2-70 + 2-126 + 3.120 — г210 = 17< 210. Итак, среди пяти проекций принятого числа Л1? Л2 и Л4 пре- вышают 210, а Л3 и Л5 менее 210. Следовательно, цифры по осно- ваниям pi = 2, — = 7 правильны. Ошибочной может быть цифра по основанию р3 = 5, либо по основанию р5 = 11. Приведенные выше теоремы позволяли в соответствую- щих условиях установить, какая из цифр ошибочна. Тогда исправление ошибочной цифры осуществляется весьма просто. Пусть в принятом числе А ошибочна цифра Обозначая ство правильную цифру через af, напишем неравен- откуда А = Л + (ои — kP<-£— , Pn+1 Pi(l+kpn+1) А Pn+lmi Bi или А По формуле (4.4) можно вычислить правильное значение цифры по основанию рь коль скоро установлено, что ошибка имеет место именно в этой цифре. Применим эту формулу для исправления ошибочной цифры в рассмотренных выше примерах. Найдем правильную цифру. В пер- вом примере принято число А = (1, 2, 2, 3, 7) с ошибкой по контроль- ному основанию. Определим истинное значение а5 Н(1 + Н) 11 2271 __ 210 J ~ Во втором примере найдем’ истинное по контрольному основанию и . Г 11(1 + 11) aS=4+L------П----- значение ошибочной цифры 1907-1 с 2W J=6- 166
§ 4.3. КОДЫ С ДВУМЯ КОНТРОЛЬНЫМИ ОСНОВАНИЯМИ Мы видели, что введение только одного контрольного основания не позволяет в общем случае локализовать ошибочный разряд. Рассмотрим теперь, какими обнару- живающими и корректирующими возможностями обладают коды при наличии двух контрольных оснований. Итак, в дополнение к рассмотренной ранее системе оснований Pi, р2, ..рп, рпП добавляем основание рп+2> Pn+i и будем представлять числа, лежащие в рабочем диапазоне [0, еР), в системе, имеющей диапазон [О, Р), где Р = Рп+1Рп+2&- В дальнейшем диапазон Р будем называть полным диапазоном системы с двумя контрольными основаниями. Правильными будем считать, как и ранее, числа, лежащие в диапазоне [0, еР). Теорема 4.7. Если задана система оснований рь р2, • • • . . ., рп, pn+i, Рп+2 и если р из этих оснований Piv Phi • • •, Pip (4-5) таковы, что выполняется условие р _ _ П Рэь ~ Pj < Pn+lPn+Z ~ Pn+i, k=l то число Л, в котором ошибочны цифры по всем основа- ниям (4.5) или по части из них, является неправильным. Доказательство. Если рассматривать pj как одно осно- вание системы, a pn+i как одно контрольное основание, то соблюдается условие р7 < pn+i и число, в котором ошибоч- на цифра по основанию р7, является неправильным. Ошибка же в цифре по основанию р7 может затрагивать цифры по всем основаниям pJX, pj2, . . ., р^ или по части из них. Этим теорема доказана. Так как каждое из контрольных оснований выбирается большим любого из рабочих оснований, то, каковы бы ни были два из оснований системы pt и р7, включая кон- 167
трольные, всегда будет иметь место РгР)<Рп+1Рп+2, (4.6) для любых i, / = 1, 2, . . п, п + 1, п + 2. Следовательно, число с двойной ошибкой, т. е. ошибкой в цифрах по двум любым основаниям, всегда будет непра- вильным и тем самым наличие ошибки может быть установ- лено. Рассмотрим примеры, иллюстрирующие обнаружение ошибки в системе с двумя контрольными основаниями. Возьмем систему оснований Pi = 2, р2 = 3, р3 = 5, р4 = 7, р5 = 11, р6 = 13. Осно- вания р5 и рб будем считать контрольными. Рабочий диапазон системы определится как & = 2-3-5-7 = 210, а полный диапазон как Р = 2-3-5-7-11 • 13 = 30030. Вычислим ортогональные базисы этой системы: Bi = 15015, В2 = 20020, В3 = 6006, В4 = 25740, В5 = 16380, В6 = 6930. Пример. Передано число Л = (1, 2, 2, 3, 6, 4) = 17. Принято вместо него число Л = (1, 0, 3, 5, 6, 4). Вычисляем величину Л: Л = Ь 15 015 + 2- 20 020 + 3-6006 + 5.25 740 + 6.16 380 + 4.6930 — — гЗО 030 = 287 733 — 270 270=17 463. Итак, Л > 210. Ошибочность А обнаружена, хотя ошибка затро- нула цифры по трем основаниям: 3, 5, 7. Пример. Вместо Л = 17 принято Л = (1, 2, 2, 3, 9, 7): Л = 1 • 15 015 + 2 • 20 020 + 2 • 6006 + 3 • 25 740 + 9 • 16 380 + 7.6930 — — гЗО 030 = 340 217 — 330 330 = 9887. Здесь ошибка затрагивает оба контрольных основания, наличие ошибки установлено ввиду Л Х> 210. Перейдем теперь к рассмотрению корректирующих воз- можностей принятой системы. Определение. Назовем число Ло-, полученное из А вычеркиванием цифр по основаниям и pj9 п р о е к- ц и е й числа А по основаниям pi9 pj. Может быть сформулирована следующая теорема. Теорема 4.8. Если в системе оснований р2, ..., рп, pn+i, рп+2 два основания pn+i и рп+2 являются контроль- ными и если число А — (о+ ос2, . . . , 0Сл, СХп+1, ^тг+г) является правильным, то все проекции числа А по осно- ваниям Pi и pj равны между собой и совпадают с вели- 168
чиной числа А, т. е. А„ = А<& (при I, / = 1, 2, ..., n + 2, i#=/) и обратно, если все проекции Аи, числа А равны между собой и совпадают по величине с числом А, то число А правильное. Доказательство. Пусть A<Z&. Образуем проекцию по основаниям pt и р^ т. е. Atj. Так как Л;<-^, ptPj ТО Л/j = Ai = А, но так как л< р Pn+iPn+2 PiPj Pi то Atj —А для любых значений i и j. Покажем теперь, что и обратно, т. е. если все Atj равны между собой, то Л —правильное число. Прежде всего покажем, что Ai}<—Р— . 7 Рп+1Рп+2 Так как все проекции Aq равны между собой, то, в частности, они равны проекции Лп+1, n+2, которая меньше Р ——-—- . Предположим, что Л— неправильное число и в нем ошибочны цифры at и а,-. Заменим эти цифры на правильные at и ар Обозначим исправленное цифрами at и aj число Л через Л. Поскольку Л —правильное число, то все его проекции равны Л, в том числе и проек- ция Aip Но Aij = Aij как составленные из одних и тех же цифр по соответствующим основаниям, следовательно, имеет место и равенство = A-ij = j == Aph (4*7) где р, Z, / принимают значения 0, 1,2, ..., п + 2, причем рУ=/, i j. Между тем если допустить, что ai=/=ai, то APj и APj состоят из одинаковых цифр по всем основа- ниям, кроме основания pi, цифры по которому у них раз- ные, поэтому (4.7) невозможно. Отсюда допущение несостоятельно. 169
Аналогично показывается, исходя из равенства AiP = Aipi невозможность допущения а7=^а7-. Итак, предположение о неправильности А опровергается. А является правиль- ным числом. В дальнейшем будем предполагать, что в принятом числе А может иметь место лишь одиночная ошибка. Теорема 4.9. Если в системе р2, • ••> Рп, Pn+i, Рп+2 с двумя контрольными основаниями задано неправильное число Л = (а19 а2, ..., а,, ..., ап, ап+1, ап+2), то необхо- димым и достаточным условием ошибочности цифры сц в А является правильность его проекции At по основанию pi. Доказательство. Пусть в неправильном числе А оши- бочна цифра at. Заменяем ее на правильную о^. В резуль- тате замены получаем правильное число Л, все проекции которого равны между собой и равны Л, т. е. являются правильными. В том числе правильна и проекция At. Но так как At = At, то и At правильно; тем самым показана необходимость условия. Докажем теперь достаточность. Пусть Л —неправиль- ное число, но а; —не ошибочная цифра. Тогда ошибочной является какая-либо другая цифра, например а7-. Заметим, что среди всех проекций числа Л Л1, Л2, ..., Лг-, ..., Лр, ..., Лп+2 (4.8) есть по крайней мере одна, являющаяся неправильным числом. Действительно, если бы все эти проекции были правильными, то можно было бы написать группу равенств Л1} 2== Ль з= ... = Ль п+2; Л2, = Л2, з = ... = Л2, п+2; ... • ••» At} 1 = Atf 2 — • •. — Aif n+2? • • • > ^п+г, i ~ “ Л?г+2, 2 ~ ~ Л?г+2, п+р Так как в каждой группе есть совпадающие элементы, то, все эти проекции, составляющие полную совокупность проекций числа Л по любой паре оснований, равны между собой. В этом случае Л должно быть правильным числом. Но по условию настоящей теоремы в Л имеется ошибоч- ная цифра, следовательно, допущение о правильности всех проекций Л по любому основанию несостоятельно 170
и среди (4.8) есть хотя бы одно неправильное число. Пусть это будет проекция Лр. Образуем проекцию Лрй в которой содержится неправильная цифра а,. Так как А — правиль- ное число, то ее проекция Л,р также является правиль- ным числом. Но Api = Aip, поэтому Api является правильным числом. Заменим в Лр__ неправильную цифру а7- на пра- вильную Получим Лр, которое правильно, и, следова- тельно, его проекция Apt по основанию pi также правильна. Но Api и Apt как отличающиеся лишь значениями цифры по основанию pj не могут одновременно быть правильными. Поэтому допущение об ошибочности цифры а,- при пра- вильном Ai несостоятельно и ошибка содержится в цифре о+ Этим завершается доказательство теоремы. Из этой теоремы вытекает следующий алгоритм опре- деления ошибочной цифры. Вычисляются проекции числа А по всем основаниям Л1, Л2, ..., Л/, ..., Лп+2. ~ р Среди этих проекций есть одна Ai <---------------. Тогда ~ Рп+1Рп+2 ошибочной является цифра о^. После того как выявлена ошибочная цифра, ее исправление проводится по фор- муле (4.4). Заметим, что последняя теорема может быть применена для исправления не только одиночной ошибки, но при некоторых условиях также и двойных и тройных ошибок. Приведем пример, иллюстрирующий сформулированный выше алгоритм в системе оснований Р1 = 2; р2 —3; р3 = 5; р4 = 7; р5 = 11; р6=13. Пример. Передано число Л = (1, 2, 2, 3, 6, 4) —17. Принято число Л = (1, 2, 2, 3, 1, 4). Вычисляем А Л^ 1-15 015 + 2-20 020 + 2-6006 + 3-25 740+1-16 380 + 4-6930- —гЗООЗО =8207 >210. Наличие ошибки установлено. Вычислим проекции числа Л по каждому из оснований. По основанию pj = 2. Для системы с основаниями: р2=3; р3 = 5; р4 = 7; р5 = 11; р6=13 вычислим ортогональные базисы = 5005; В^1} = 6006; В{Р— 10725; В(5П = 1365; В(6п = 6930. 171
Тогда 4 = (2, 2, 3, 1, 4) = 2-5005 + 2-6006 + 3-10725+1-1365 + + 4-6930 —гр 15 015 = 8207 >210. По основанию р2 = 3- Для системы с основаниями: р4 = 2, р3 = 5, р4 = 7, р5 = 11, р6 = = 13, вычислим значения ортогональных базисов: В(г2) = 5005, В£2) = = 6006, В™ = 5720, В(52) = 6370, В^2) = 6930. Тогда Л2 = (1, 2, 3, 1, 4) = 1-5005 + 2-6006 + 3-5720+1-6370 + + 4-6930 —г2Ю 010 = 8207 >210. По основанию р3 = 5. Получаем систему: р± =2, Р2 = 3, р4 = 7, р5= 11, р6=13 с орто- гональными базисами: В$8) = 3003, В£3) = 2002, J3£3)=1716, В{£} = = 4368, В<3) = 924. Откуда Л3 = (1, 2, 3, 1, 4)=1-3003+2-2002 + 3-1716+1-4368 + + 4-924—г3-6006 = 2201 >210. По основанию р4 = 7. Имеем систему с основаниями: р± = 2, р2 = 3, р3 = 5, р5 = 11, р6 = 13 и ортогональными базисами: £tf4) = 2145, В£4)=2860, М4) = = 1716, В(б4) —3510, В<4) = 264О. Здесь Л4 = (1, 2, 2, 1, 4)= 1-2145 + 2-2860 + 2-1716+1-3510 + + 4-2640—г4-4290 = 3917 >210. По основанию р5 = 11. Получим систему с основаниями: р4 = 2, Р2 = 3, р3 = 5, р4 = 7, р6 = 13. Ортогональные базисы системы: В{5)= 1365, В£5) = 910, Щб> = 546, В™ = 1170, В™ = 1470. Тогда Л5 = (1, 2, 2, 3, 4) = 1-1365+2-910 + 2-546+ 3-1170 + 4-1470 — — /*5-2730= 17< 210. По основанию р6=13. Система имеет основания: pj. = 2, Р2 = 3. р3 = 5, р4 = 7, р5=11 и ортогональные базисы: 73£6)= 1155; _В£6> = 1540; В(36)= 1386; B(f> = = 330; В^ = 210. Тогда Л6 = (1, 2, 2, 3, 1) = Ы155 + 2-1540+2-1386 + 3-330 + + 1-210 —г62310= 1277 >210. Итак, все проекции числа Л, кроме Л5 неправильны. Следова- тельно, ошибочна цифра «5 = 1 по основанию р5 = 11. Проведем теперь исправление по формуле (4.4) для проекции Л5: а-1+Г 11 (1+13) 8207 1-6- “5-1 + 1—1з--------Т36Г]-6’ Правильная цифра по основанию 11 равна а5 = 6. 172
Из характера рассмотренных кодов видна их полная арифметичность — введенные дополнительно основания включены в общую систему оснований и коды, содержащие цифры по всем как основным, так и контрольным разрядам, участвуют в любой операции арифметического устройства, обработка основных и дополнительных цифр производится совершенно одинаковым образом, без какого-либо разли- чия. Это позволяет считать, что обработка информации, представленной в такого рода специальном коде, может вестись без контроля каждого отдельного кода, а лишь поэтапно, причем величина каждого этапа может опреде- ляться в каждом отдельном случае, либо по законченному циклу обработки, либо в соответствии с вероятностью воз- никновения одиночной ошибки. Конечный результат каж- дого этапа может быть подвергнут контролю и его пра- вильность подтверждает правильность проведения всех операций данного этапа. В случае обнаружения ошибки производится коррекция и исправленный результат участвует в последующих эта- пах. Возможность такого режима обработки информации эквивалентна двойному просчету для обнаружения ошиб- ки и тройному просчету для ее исправления. Любопытно отметить, что введение лишь одного кон- трольного’основания, оказывается, позволяет обнаружить не только любую одиночную ошибку (в цифре по одному основанию), но и 95% двойных (в цифрах по двум осно- ваниям). § 4.4. ВОПРОСЫ КОНТРОЛЯ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ Почти все элементарные арифметические операции могут рассматриваться как двухкомпонентные. Обозначим Лю элементарную операцию через Eti а ее компоненты — через At и Вt и запишем операцию в виде Ei = fi(Ai, Bi) (в частности, может иметь место и Ai~Bi). Назовем цепью F совокупность операций над компо- нентами а2, ..ат~ F а2, ..., ат), которая может быть представлена в виде суперпозиции таких двухкомпонентных операций с возможными повто- 173
рениями как самих ajt так и промежуточных результатов выполнения двухкомпонентных операций. Предполагается, что в цепи операций отсутствуют раз- рывы, понимая под этим тот факт, что, за исключением конечного результата, не существует никакого проме- жуточного результата, который в последующем не входил бы в качестве компонента по крайней мере в одну двухком- понентную операцию. Так, например, F (а4, 6^2? • • • » Ят) — #1^2 + #2^3 +••• + •••+ является цепью в том смысле, как это было определено выше. Действительно, можно F записать в виде суперпо- зиции двухкомпонентных операций F = f2{--- ММЛ(аь а2), ^(а2, а3)Ь Л(а3, сч)} где fi — операция умножения, /2 — сложения. Естественно ввести в определение цепи оговорку, что именно результат вычисления по всей цепи является конеч- ным интересующим нас результатом, а все остальные, образующиеся в ходе вычислений,— промежуточные резуль- таты, не имеющие самостоятельного значения и инте- ресующие нас постольку, поскольку они участвуют в фор- мировании конечного результата. Поэтому, если в про- межуточных результатах содержатся ошибки, которые могут быть исправлены в конечном результате, можно огра- ничиться исправлением только этого последнего результата, не обращаясь к истории его получения и не производя вос- становления истинных значений промежуточных резуль- татов. Иначе говоря, в ходе работы вычислительной маши- ны должно быть обеспечено получение истинного значения только конечного результата вычисления цепи. Дополнительно выдвигается следующее предположение: при реализации цепи может иметь место ошибка только в цифре по одному основанию, т. е. длина цепи такова, что при существующих характеристиках надежности работы аппаратуры арифметического устройства вероятно наличие сбоя или отказа только по одному из оснований. При этом безразлично, имел ли место по этому основанию единичный сбой или произошло несколько сбоев. В изложенных предположениях состояние конечного результата цепи характеризуется следующим образом. Пусть выполняется некоторая цепь рациональных операций, 174
истинный результат которой в случае отсутствия ошибок в ходе вычислений должен быть правильным числом, и пусть в процессе вычисления имели место один или несколько сбоев по одному из оснований системы. Тогда конечный результат цепи либо неправильный, либо истин- ный. Действительно, пусть принято представление в системе оснований pi, р2, . . рп, Pn+i и истинным результатом должно быть число = х2, Hi, ..., хп+1), а получено число А = = (а1? а2, ..ап+1). Если сбой имел место по основанию ph то OCj = Н^ 0С2 = Х2, . . . , CCi-i ~ ^i-1, Mt+i — Xf+i, • • • ? 0^71+1 ^n+l< Что касается то возможные два варианта 1 ) CXz Hi \ 2 ) ai = Hi. В варианте 1 число А неправильное; в варианте 2 число А правильное и при этом совпадающее с /С, т. е. А является истинным значением конечного результата цепи. Установленный факт, казалось бы весьма простой, имеет, однако, важное значение для организации контроля в вычис- лительной машине, работающей в системе остаточных клас- сов. Он свидетельствует о том, что в конечный результат вычисления цепи не может проникнуть необнаруженная ошибка, поскольку это могло бы произойти только в том случае, когда результат вычислений был бы правильным, но в то же время не истинным числом. Однако правильным числом может быть только истинный результат. Таким образом, ошибка, если она на каком-либо этапе реализации цепи имела место, либо сохранится до конца вычисления цепи и проявит себя легко обнаруживаемой неправильностью конечного результата, либо в процессе дальнейших, после своего возникновения, вычислений само- устранится и тогда будет получен нужный конечный результат. Самоустранение ошибки может произойти не только в случае наложения нескольких сбоев по данному основа- нию, но также и при единичном сбое. Так, например, если на каком-либо этапе вычисления цепи уже после возникно- вения сбоя по основанию pt промежуточный результат 175
умножился на число, имеющее нулевую цифру по pi9 то, очевидно, произведение получится истинным числом и тако- вым уже войдет в последующие вычисления, что при отсут- ствии в дальнейшем сбоев, естественно, приведет к полу- чению истинного конечного результата. До сих пор, говоря о рациональных операциях, имели ввиду операции сложения, вычитания, умножения и случаи поразрядно выполняемого деления, когда делимое кратно делителю и отсутствуют критические ситуации в виде нуле- вых цифр в делителе. Несколько особняком среди этих операций с точки зре- ния контроля находится собственно операция машинного приближенного деления в общем случае. Как мы видели, при реализации различного рода алгоритмов, связанных с делением, основную роль играет операция деления на основание системы. Рассмотрим, как отражается на частном наличие ошиб- ки в делимом при выполнении этой операции. Пусть нам надо получить частное С = А : р7, где А = (ai, а2, . . ., а,-, . . ., ап+1). Так как в системе оста- точных классов деление должно выполняться только нацело, то делимое должно быть кратно делителю, т. е. иметь нуле- вую цифру по основанию р7. Поэтому, если а7- =# 0, то вместо А в качестве делимого берется А дел = А — OCj, являющееся ближайшим к А кратным pj числом. Тогда C = ^L = (Yi, Y2. •••. Y;-i> Yj> Y/+1M •••> Yn+1), Pj где аг+Pj-aj , , . Yi^j =----------(mod pi), Pj a yj — цифра частного no pj определяется по одному из способов, изложенных в гл. 3. Важно отметить, что любой из этих способов в этой или иной форме учитывает значения всех цифр Адел- Если в процессе вычисления А имела место ошибка и вместо А в вычислениях фигурирует число А = (а', а', ... ... ,а7-, ..., ад+1), то в качестве делимого будет при- нято число Адел — А — ОС; 176
и частное окажется равным C = ^- = (Yi. Ys. •••> Уь •••. Yn+i)- rj Если в А имеется ошибка по одному из оснований р;, то эта ошибка по-разному отразится в частном в случаях, когда i Ф j и i = j. Рассмотрим их. Случай 1. Пусть /=/=/• Имеют место соотношения y1=Yi; Y2 = Y2; •••; yUi^y^-i; yUi ^y/+i; ••• • • • 1 Yj-i -- Yj-i> Y>4-1 ~ Yj+n • • • ’> Yn+i = Yn+i, Yi#=Yb Yj=#Yj- Здесь полученное частное, как правило, отличается от истинного в цифрах уже по двум основаниям: — по основанию pif поскольку в делимом была ошибоч- на цифра что, естественно, повлекло за собой ошибоч- ность уь и — по основанию р7-, так как ввиду наличия ошибочной цифры щ в А будет, вообще говоря, ошибочно определена и цифра yj. Исключение могут составить такие ошибки в pi, которые не меняют цифры частного по pj. Это возмож- но при весьма специальных сочетаниях цифр А, которые встречаются довольно редко. Таким образом, частное С получается уже содержащим ошибки по двум основаниям, что выходит за рамки рассмат- риваемой нами ситуации — предположения, что ошибка в числах затрагивает лишь одно основание. Кроме того, частное может оказаться правильным числом, хотя и отли- чающимся двумя цифрами от истинного. Случай 2. Пусть i = j. Здесь картина резко меняется. Yi^Yi» Y2 Y2J • ••> Yi-i^Yi-B YH-i Yj+Г» ••• • • • ? Ym-i Y™+i • Для цифры частного по основанию pj может быть Yj#=Yj либо Y;' = Yj- Ввиду того что из-за неправильности цифры aj непра. вильно образуется Адел по всем цифрам, оказываются непра- 12-1365 177
вильными и все цифры частного, за исключением, быть может, только цифры yj, которая при некоторых сочетаниях цифр Лдел может оказаться совпадающей с При этом частное может оказаться правильным числом. Итак, случай 2 приводит к частному, в котором рас- пределение ошибок еще более отличается от принятого нами предположения об ошибочности цифры только по одному основанию. Вопросы выявления подобного рода множественных ошибок и их исправления требуют специального иссле- дования. Некоторую помощь в решении этого вопроса может оказать следующая теорема. Теорема 4.10. Если при делении неправильного числа вильным числом, то при Pj<pn+i цифра a'j не может быть ошибочной. Доказательство. Действительно, если имела место в А ошибка по основанию pj, то Лдел Р В этом случае частное должно быть неправильным числом. Поскольку С по усло- вию теоремы — правильное число, оказывается несостоя- тельным предположение об ошибочности а}. Из этой теоремы вытекает предпочтительность, в извест- ном смысле, малых оснований в качестве делителей при организации деления. § 4.5. АЛЬТЕРНАТИВНОСТЬ КОРРЕКЦИИ ПРИ ОДНОМ ИЗБЫТОЧНОМ ОСНОВАНИИ Вообще говоря, для коррекции ошибки введения только одного избыточного основания недостаточно. Однако суще- ствуют случаи, когда при наличии только одного контроль- ного основания все же удается однозначно установить ошибочную цифру. Ранее, говоря о возможности ограничиться контролем и исправлением лишь конечного результата вычисления, 178
мы имели в виду присутствие всей той избыточности в кодо- вом представлении, которая необходима для исправления изолированно взятого числа. Теперь проведем детальное исследование возможностей организации коррекции при наличии только одного из- быточного основания в разрезе динамики вычислительного процесса, т. е. рассматривая характер распределения ошибок в результатах, последовательно получаемых при реализации программы. Определение. Назовем данное неправильное число А ^-альтернативно корректируемым (или просто &-аль- тернативным) числом, если существуют k таких пра- вильных чисел Аь А2, . . ., Ak, каждое из которых отли- чается от А цифрой по одному какому-либо основанию, причем эти основания различны для различных Ао (Р = 1. 2.....k). Совокупность оснований (pi, pi2, ..., pift), по которым числа At, А2, ..., Ак отличаются от А, назовем альтер- нативной совокупностью числа А и будем обо- значать ЭД (Л). Заметим, что основание рп+1 всегда входит в альтер- нативную совокупность любого числа А. Действительно, каковы бы ни были первые п цифр числа А, всегда суще- ствует такая цифра по основанию рп+1, что число, имею- щее по основанию pn+i цифру g, лежит в диапазоне Qo, у—) > являясь правильным числом. Из этого обстоятельства можно сделать, в частности, вывод о целесообразности повышения при реализации ариф- метических устройств чисто техническими средствами более высокой надежности работы именно тех схем, которые осу- ществляют операции по основанию pn+i- При такой орга- низации работы арифметических устройств, когда ошибка в основании pn+t маловероятна и, следовательно, основа- ние рп+1 может не вводиться в альтернативную совокуп- ность, часто может оказаться, что альтернативная совокуп- ность будет состоять из одного основания и коррекция результата упростится. Альтернативная совокупность ЭД (Л) числа А может быть установлена проверкой каждого из оснований pt (i = 1, 2, . . ., п + 1) следующим образом. 12* 179
Вычисляются всевозможные значения числа Ар, т. е. определяется последовательность чисел, имеющих одни и те же цифры по всем основаниям, что и число Л, кроме основания рр, и отличающихся лишь цифрами по этому основанию, т. е. числа Лр$ = (0&i, • 1, S, •••» «п+1), S = 0, 1, ..., Рр— 1. Среди этих чисел может не быть ни одного правильного числа, либо может быть только одно правильное число. В последнем случае рр входит в альтернативную совокуп- ность числа Л. Проведя аналогичные проверки для каждого из оснований системы, мы определим полностью 21 (Л). Такой путь определения альтернативной совокупности числа Л является довольно трудоемким и в дальнейшем будет приведен более эффективный способ. Предварительно рассмотрим пример, иллюстрирующий понятие альтернативной совокупности в системе с основаниями Р1 = 2; р2 = 3; Рз = 5; 04 = 7; 05=И. Пример. Определить альтернативную совокупность числа Л = (1, 2, 2, 5, 6) = 677 >210. Проверим основание = 2. Вычисляем значение Лю = = (0, 2, 2, 5, 6). Л1О = Ох1155 + 2х154О+2х 1386-|-5х330 + 6х210 — -гА1о.2310= 1832 >210. Следовательно, Pi = 2 не входит в 91 (Л). Проверим основание р2 = 3. Вычисляем Л2о и Л21. Л20 = (1, 0, 2, 5, 6) = 2217 >210, Л21 = (1, 1, 2, 5, 6) = 1447 > 210. Основание 02 = 3 также не входит в 91 (Л). Проверим основание р3 = 5. Вычисляем значения Л30, Л31, Л33 и Л34: Л30 = (1, 2, 0, 5, 6) = 215 >210, Л31 = (1, 2, 1, 5, 6) = 1601 >210, Л33 = (1, 2, 3, 5, 6) = 2063 >210, Л34 = (1, 2, 4, 5, 6)= 1139 >210. Основание р3 = 5 не входит в 91 (Л). Проверим основание р4 = 7. Вычисляем значения Л40, А1> ^42, Л43, Л44, Л46. Л4о = (1, 2, 2, 0, 6) = 1337 >210, Л43 = (1, 2, 2, 3, 6) = 17< 210, Л41 = (1, 2, 2, 1, 6) = 1667 >210, Л44 = (1, 2, 2, 4, 6) = 347 >210, Л42= (1» 2, 2, 2, 6) = 1997 >210, Л46 = (1, 2, 2, 6, 6) = 1007 >210. 180
Основание р4 = 7 входит в 51 (Л); и в случае, если ошибка про- изошла именно по основанию р4, то истинная Цифра числа А по этому основанию есть 3. В соответствии с изложенным выше в альтернативную совокуп- ность входит также и основание р5=11. Таким образом, число А является двухальтернативным числом и альтернативная совокупность числа Л = (1, 2, 2, 5, 6) определяется как 31 (Л) = (7, 11). Рассмотрим теоремы, несколько сужающие круг поис- ков альтернативной совокупности числа. Теорема 4.11. Пусть задана упорядоченная система оснований Р1Ч Р21 • • • J Pn, Pn+i и пусть неправильное число А = (а', а', а^+1) удовлетворяет неравенству ——. Тогда основа- ния Pz, ..., pj не входят в альтернативную совокуп- ность 21 (Л) числа Л. Эта теорема хотя и дает возможность сузить рамки поиска альтернативной совокупности числа Л при удо- влетворении неравенству А<—, но не позволяет делать никаких выводов в случае А > относительно того, вхо- дит ли pj в 21 (А). Поэтому сформулируем и докажем более полную теорему. Теорема 4.12. Пусть задана упорядоченная система оснований Pl. р2, .... Рп, Pn+i и пусть задано неправильное число А, проекция которого по основанию pi есть Ai. Тогда необходимым и доста- точным условием вхождения pi в альтернативную сово- купность 31(A) является правильность проекции А;. Доказательство. Действительно, предположим, проек- ция является правильным числом. Поскольку среди последовательности чисел А;,о, А;;1, ..., А<,р._1 всегда р содержится число А^, меньшее —, то это число равно проекции А/, поскольку проекция А;, по предположению, 181
находится в диапазоне |_0, и цифры At совпадают с соответствующими цифрами А^ (за исключением, есте- ственно, цифры по основанию pi). Все числа последовательности отличаются от Л^ на tn * Р различные кратные Bt — -ф-, т. е. любое число этой после- довательности, в частности и Л = Л{ а>, может быть запи- ’ i сано в виде А = kmt -^-+ = К 4-+ Лг5 = Ai. Pi Pi Pi Здесь kmi = lpiA~K заменено на К, поскольку lPi^7 = lP Pl составляет число, кратное принятому диапазону Р. Оче- видно, К есть не что иное, как целая часть от деления р Л на — и, следовательно, Pi 45 = Яг = Л-[^-]-£-. (4.9) Таким образом, если At — правильное число, то среди чисел Лго ... Л{,р._1 содержится число Лг5, являющееся правильным числом, т. е. pt входит в альтернативную совокупность числа Л. Этим установлена достаточность условия. Покажем теперь его необходимость. Пусть pi входит в ?! (Л). Тогда среди последовательности чисел Ащ ... ... А(1Р.-1 должно содержаться правильное, т. е. меньшее Plpn+i> число. Это может быть только Л,6< Plpi, так как каждое из остальных чисел последовательности больше Plpi и подавно больше P!pn+i- Но Л^ = Л;. Следовательно, Ai должно быть правильным числом. Применим доказанную теорему к решению предыдущего примера. Пример. Определить альтернативную совокупность неправиль- ного числа Л = (1, 2, 2, 5, 6) = 677 >210. 182
Вычисляем проекции числа А по формуле (4.9): ’>-677-[S-]-T-677 >210’ -:^]т=»77>». 43= 677-Г-Sn ^-=677-462 = 215 >210, I ZulU I О А4 = 677- Г-^-1 -^-=677—2 • 330 = 17 < 210. I ZulU I I Л5 = 677-р^Н1 -^- = 677-3-210 = 47<210. В альтернативную совокупность числа А входят основания 7 и 11 Й(Л)=(7,11). Здесь целесообразно еще раз подчеркнуть, что когда непра- вильное число А подвергается в последующем различным рациональным операциям с привлечением других чисел (предполагаемых правильными), то результаты этих опера- ций будут либо истинными, либо неправильными, причем в последнем случае ошибочной будет цифра по тому осно- ванию, по которому имелась ошибка в А. Иначе говоря, в результате выполнения последовательности операций с участием неправильного числа А ошибка может либо устраниться, либо остаться на месте, но никоим образом она не может переместиться в цифру по какому-либо дру- гому основанию. Что же касается альтернативной совокуп- ности результата операций, то она может существенно отличаться от альтернативной совокупности А. Рассмотрим изменения альтернативных совокупностей результатов арифметических операций. При этом будем руководствоваться следующим соглашением. Соглашение. В цепи операций, выполняемых по реаль- ной программе, последняя строится таким образом, что все промежуточные результаты, равно как и конечный результат, в случае отсутствия ошибок в ходе реализации программы являются правильными числами. Это условие вполне естественно для правильно построен- ной программы, поскольку предварительное масштабиро- вание должно обеспечивать невыход результатов вычисле- ний за пределы рабочего диапазона. 183
Определение. Будем называть арифметическую опера- цию правильной, если операнды и результат опе- рации являются правильными числами. Что же касается нашей непосредственной цели — про- ведения коррекции, то для нее сформулированное условие может иметь тот смысл, что, приняв гипотетически какую- либо из альтернатив за истинную и проведя исправление в соответствие с этой гипотезой, мы в дальнейшем ходе программы должны обнаружить несостоятельность неспра- ведливой гипотезы, т. е. получить на каком-то из последую- щих этапов неправильное число. Разумеется, при этом пред- полагается, что проверка гипотезы производится в течение периода, когда исключена возможность возникновения нового сбоя. Рассмотрим следующую теорему о характере альтерна- тивной совокупности результата операции. Теорема 4.13. Если в упорядоченной системе осно- ваний Рь Рг» • • •> Рпч Pn+i задано неправильное число Л, имеющее альтернативную совокупность Я (Л) = (рц, pi2, ...» Pik), и если при выполнении над числом А рациональной опе- рации по программе было получено неправильное число В, альтернативная совокупность которого равна (В) = (Рн, pi2, .... Pia), то ошибочной может быть цифра по какому-либо из осно- ваний (Рд, Рл, •••, Pjs) = %(A)K(B), где умножение понимается в смысле пересечения. Доказательство. Прежде всего отметим, что среди альтернативных совокупностей 91 (Л) и 31 (В) всегда содер- жится основание pi, по которому произошла ошибка. Таким образом, если в 91 (Л) есть такие основания, кото- рых нет в 91 (В), и наоборот, то, очевидно, среди таких оснований не присутствует основание pi — оно может быть только среди тех оснований, которые являются общими для 91 (Л) и 91 (В), т. е. среди пересечения. 184
Определение. Под условной альтернатив- ной совокупностью й (Л) неправильного чис- ла А будем понимать совокупность оснований, по которым возможна ошибка, с учетом характера альтернативных сово- купностей предшествующих неправильных результатов по ходу выполнения программы. Если последовательно получались неправильные числа Л|, ^2i • • • 1 Лр, ТО ^(А) = ^(А1)^(А2) ... 31(4) или в рекуррентной форме % (Лр) (Лр). Высказанному выше предположению, что принятие неспра- ведливой гипотезы из альтернативной совокупности долж- но с большой вероятностью привести к неправильному результату и что тем самым только справедливая гипотеза обеспечивает правильность результатов на всех этапах, в терминах альтернативных совокупностей соответствует утверждение, что с той же степенью вероятности ввиду имеющего места последовательного сужения условных аль- тернативных совокупностей результатов операций суще- ствует такое р, при котором где pi — то основание, по которому имела место ошибка при вычислении А. Эти два суждения могли бы считаться эквивалентными, если бы не тот факт, что избыточное осно- вание рп+1 всегда входит в 21 (Лр) и, следовательно, какое бы ни проводилось в результатах последовательности опе- раций стягивание условной альтернативной совокупности к ошибочному основанию pit все равно там будет наряду с pi фигурировать еще и pn+i. В соответствии с изложенным представляется возмож- ным определить несколько способов организации контроля и исправления ошибок: —*Ъдин путь заключается в последовательных определе- ниях ’условных альтернативных совокупностей в ходе выполнения программы и их стягивании к ошибочному основанию; 185
— другой путь состоит в принятии какой-либо гипотезы по альтернативной совокупности числа Л, проведении кор- рекции по этой гипотезе и выполнении дальнейших вычис- лений впредь до обнаружения несостоятельности принятой гипотезы и перехода на другую гипотезу. Если при этом несостоятельность принятой гипотезы не проявится, то полученные результаты принимаются за истинные; — возможен и третий путь — синтез двух первых спо- собов. Вычисляются условные альтернативные совокупно- сти чисел, получающихся по мере реализации программы, вплоть до стягивания их в числе Лр к основаниям рг и pn+i, после чего принимается гипотеза ошибочности цифры по основанию Pi и проводится ее коррекция в числе Яр. Обна- ружение несостоятельности этой гипотезы определяет оши- бочность цифры по основанию pn+i- По предложенным способам проведения коррекции необ- ходимо сделать следующие замечания: — во всех случаях предполагается, что реализуемая цепь операций обладает достаточной длиной, позволяющей провести все намеченные процедуры до исчерпания опера- ций цепи; — для всех способов желательно получить либо вероят- ностным аналитическим путем, либо моделированием оценку продолжительности (в количествах операций) устойчивой реализации процедур (стягивания условных альтернативных совокупностей, опровержения или под- тверждения гипотезы и т. п.); — в случае принятия ошибочной гипотезы, когда исправ- ление необоснованно проведено по основанию pj в то время, как ошибочным является pif число оказывается имеющим уже две ошибки: по известному основанию pj, вследствие введенного исправлением искажения и по подлежащему определению основанию рь где ошибка фактически воз- никла в результате сбоя. В этом случае требуется возврат к ошибочному числу. Рассмотрим некоторые примеры в системе с основаниями Р1 = 2; р2 = 3; рз = 5; р4 = 7; р5= 11. Пример. Вычислим значение функции Y = 2x. Пусть на предыдущем этапе вычислено значение л = (1, 1, 3, 1, 1) = 463 > 210, 186
Число х является неправильным. Определяем его альтернативную совокупность: Л-46Ч^] Т-=463 > 2101 л Г 463’3 !2310 Л2=463~L_23TcrJ — = 463 >210, А3=463 - USl =463 - 462 = 1 < 210, I ZulU I О Л4 = 463- Г4^-1 = 463-330 = 133 < 210, I ZulU I I 4=463 - Г4!^] -^12- = 463 - 420 = 43 < 210, отсюда Я(х) = (5, 7, И). Вычисляем значение Y=2x: У=(0, 2, 2, 2, 2) (1, 1, 3, 1, 1)=(0, 2, 1, 2, 2)=926 >210. Аналогично предыдущему определяем: Л± = 926 >210, Л2=156< 210, А3 = 2<210, А4=266 >210, А5 = 86<210, 51(У) = (3, 5,. 11). Тогда условная альтернативная совокупность определится как $(У) = (3, 5, 11) (5, 7, 11) = (5, 11). Таким образом, ошибочной является цифра либо по основанию р3 = 5, либо по основанию р5 = 11. Если ошибку не содержит цифра по основанию р5 = 11, то дальнейшая свертка условной альтернатив- ной совокупности в процессе последующих операций невозможна. Рассмотрим, что дает в условиях рассматриваемого примера принятие гипотезы об ошибочной цифре в числе х др вычисления значения У. 1. Предполагаем, что ошибочной была цифра по основанию р3 = 5. Проводим исправление х. Получаем 7 = (1, 1, 1, 1, 1) = 1. Вычисляем У = 2х = (0, 2, 2, 2, 2) = 2 <210. Несостоятельность гипотезы не обнаружилась. 2. Принимаем ошибочность цифры по основанию р^ = 7» Получаем х = (1, 1, 3, 0, 1) = 133, У = 2х=(0, 2, 1, 0, 2) = 266 > 210. Обнаружена несостоятельность принятой гипотезы. Цифра по основанию р4=7 не может быть ошибочной. 187
3. Примем теперь ошибочной цифру по основанию р5 = 11 Получим х=(1, 1, 3, 1, 10) = 43, У=2х —(О, 2, 1, 2, 9) = 86 < 210. Ошибочность гипотезы не подтверждается. В условиях данного примера оба способа привели к одному и тому же результату — исключена ошибочность цифры по основанию Р4=7. Таким образом, такая простая операция, как удвоение числа, позволила сузить рамки поиска ошибочной цифры. Пример. Вычисляется значение функции У=6%. Число х то же, что и в предыдущем примере, и 21 (х) = (5, 7, 11). Вычисляем У = бх=(0, 0, 1, 6, 6) (1, 1, 3, 1, 1) = (0, 0, 3, 6, 6) = 468 > 210. Определяем: ^ = 468 >210, 42=468>210, Л3 = 6< 210, Л4=138<210, 45 = 48<210, 21(У) = (5, 7, 11). Условная альтернативная совокупность определяется как 2ЦУ) = (5, 7, 11) (5, 7, 11) = (5, 7, 11). Она никакой новой информации о возможной локализации ошибки не доставляет. К совсем иным результатам приводит способ исправления по гипотезам. 1. Принимаем ошибочной цифру по основанию р3=5. Исправле- ние цифры по этому основанию приводит к у=6х = (1, 1, 1, 1, 1) (0, 0, 1, 6, 6) = (0, 0, 1, 6, 6) = 6 < 210. 2. Принимаем ошибочной цифру по основанию Р4 = 7. Это дает у = 6х=»(0, 0, 1, 6, 6) (1, 1, 3, 0, 1) = (0, 0, 3, 0, 6) = 798 > 210. Следовательно, по основанию р4 = 7 ошибки быть не может. 3. Наконец, допускаем ошибочность цифры по основанию р5 = 11. Это дает у = 6х = (0, 0, 1, 6, 6)(1, 1, 3, 1, 10) = (0, 0, 3, 6, 5) = 258>210. Тем самым исключена возможность ошибки также по основанию р5. Остается единственная возможность — ошибка имела место по осно- ванию рз = 5 и истинное значение У есть (0, 0, 1,6, 6). Для целей уменьшения объема условной альтернатив- ной совокупности и осуществления более быстрого стяги- вания ее к фактически ошибочному основанию могут ока- заться весьма полезными следующие теоремы частного характера. 188
Теорема 4.14. Пусть в упорядоченной системе осно- ваний Pi, Р2, •••, Рп, Рп+1 задано неправильное число Л = (а;? а^, ..., ai, ..., ап, а^+1), причем известно, что основание pi входит в альтернатив- ную совокупность (Л) числа А. Тогда если в произ- ведении С-ВЛ, где В — правильное число с нулевой цифрой по основанию pif окажется, что С — неправильное число, цифра ai по основанию pt не является ошибочной. Доказательство. Действительно, если цифра щ была бы ошибочной, то в С ошибка эта должна была бы самоустра- ниться, поскольку независимо от того, какова цифра ai в С, она дает по основанию pt нуль, и С должно было быть правильным числом. Но С оказалось неправильным числом. Следовательно, ai — правильная цифра. На основании этой теоремы основание pt может быть исключено из 31 (С), если оно туда входит. Пример. Число А = (1, 2, 2, 5, 6) имеет альтернативную совокуп- ность 31(A)-(7, 11). В качестве множителя возьмем число В = (1, 2, 1, 4, 0) — 11. Вычислим произведение С —BA —(1, 2, 1, 4, 0) (1, 2, 2, 5, 6)- (1, 1, 2, 6, 0)- 517 > 210. Находим альтернативную совокупность: г»-517-[тиг]Т’517>210’ г>"517-[тйг]-Т-517-*62-5S<21». С4= 517 - [-^^-] = 517-330 = 187 < 210, С5 = 517 - Г^1 = 517 - 420 = 97 < 210. Откуда Й(С) = (5, 7, 11). 189
Следовательно, Й(С)-(7, 11) (5, 7, 11) = (7, 11). На основании предыдущей теоремы можно исключить из 51 (Q осно- вание р5= 11. Тем самым сразу локализуем однозначно ошибку: в А неправильна цифра 5 по основанию р4. Примечание. Здесь проведено умножение на В в предположении, что оно входит в программу в соответствии со сформулированным выше соглашением. Иначе проведенная операция и выявленная ошибоч- ность цифры по основанию р4 = 7 не имела бы реального смысла. Поскольку для отдельно взятого числа возможно- сти ошибок по любому из оснований, входящих в альтер- нативную совокупность, равноправны, то никакой искус- ственно вводимой операцией нельзя установить, каким на самом деле должно быть истинное число. Только операции реальной программы, удовлетворяющей соглашению, по которой должно обрабатываться истинное число, могут выявить произошедшую ошибку и единственным образом осуществить выбор необходимой коррекции из всех воз- можных для данного числа исправлений. Теорема 4.15. Пусть в упорядоченной системе оснований Рь Рг, •••, Рп, Рп+1 задано неправильное число Л = (а', а', ..., а-, .а'п, а'п+1) с альтернативной совокупностью 21 (Л), в которую входит основание pj и задано, что в случае принятия гипотезы неправильности цифры aj по основанию pj последняя должна исправиться на aj. Тогда если при вычислении некоторой рациональной функции f (А) C = f (Л) = (tf, у’„ ..., у-, ..., у'п, у;+1), такой, что получаем в результате неправильное число С, то цифра aj не может быть ошибочной. Доказательство. Действительно, если цифра а3- оши- бочна, то правильной является цифра а>. Так как при вычис- лении С цифра yj получается такой же, как если бы в Л по основанию pj была правильная цифра aj, то С должно 190
быть правильным числом. Тем самым факт неправильности С опровергает предположение об ошибочности цифры а'-. Пример. В системе оснований = 2; р2 = 3; р3 = 5; р4 = 7; р5 = 11 число А — (1, 1, 3, 1, 1) = 463 > 210 имеет альтернативную совокупность $ (Я) = (5, 7, 11). Вычислим альтернативную совокупность числа С = (Л)2 + 31. Вычислим величину С = (1, 1, 3, 1, 1).(1, 1, 3, 1, 1) + (1, 1, 1, 3, 9) = = (0, 2, 0, 4, 10) = 1880 >211. Как легко подсчитать, альтернативная совокупность числа С равна 21 (С) = (5, 11), откуда условная альтернативная совокупность S (С) = (5, 7, 11) (5, 11) = (5, 11). Для уточнения 21(C) проверяем в соответствии с предыдущей теоре- мой цифру по основанию р5. Замечаем, что допустив наличие ошибки по основанию 11 мы полу- чим для исправленной цифры значение 10. Вычисляем по исправ- ленной цифре 10 соответствующую цифру С: (102 + 9) (mod 11) = 10. Она совпала с вычисленной цифрой в С по основанию р$. При этом С — неправильное число. Следовательно, в А цифра а5 = 1 по основанию р$ правильная и основание р5 должно быть исклю- чено из 21 (С). Получаем 21 (С) = (5), состоящую из одного основа- ния. Здесь оказалось возможным полностью локализовать ошибку. § 4.6. ЛОГИЧЕСКОЕ УПРОЧНЕНИЕ КОНТРОЛЬ- НОГО ОСНОВАНИЯ Выше было установлено, что избыточное основание всегда входит в альтернативную совокупность, чем опре- деляется невозможность однозначного стягивания альтер- нативы к ошибочному основанию, если сбой произошел не по контрольному основанию. Можно лишь косвенно судить об ошибочности цифры по основанию pj, когда на протяжении относительно длительного участка цепи аль- тернативная совокупность не стягивается к рп+1, а остается охватывающей пару (pj, pn+i), так как, если бы ошибка затрагивала основание pn+i, альтернативная совокупность должна была бы обязательно стянуться к рп+1. Однако подобные косвенные признаки могут потребовать наличия длинной цепи для испытания на стягивание к рп+1 и не 191
смогут полностью исключить случаи, когда вывод об оши- бочности pj будет неоправдан. Поэтому целесообразно рассмотреть сформулированную ранее задачу такого упроч- нения контрольного основания, которое позволило бы исключить Pn+i из альтернативной совокупности как основание, по которому ошибка произойти не может. Не касаясь технических способов такого упрочения, рассмотрим следующий логический путь надежного введения избыточ- ного основания. Выше рассматривалось представление чисел в рабочем диапазоне еР и полном Р = pn+icP- Теперь представим числа в рабочем диапазоне Р, а в качестве избыточного основания примем рп+2 > Pn+i* В этом случае полным диа- пазоном будет число Р = Рп+ъР• Однако числа в полном диапазоне Р будем представлять специальным образом, а именно, если данное число А < Р может быть представ- лено в принятой системе из п + 2 оснований в виде Л = (ап а2, ..., ал+1, ап+2), то специальным машинным представлением числа А явится число А — ^п+2 = (Р1> Рг» •••» Рп+1» 0)» если 2<Хп+2 < Pn+2i или А-\~Рп+2 — ап+2~ (Р1> Рг» •••» Рп+1» 0), если 2<Х?г+2 > Рп+2* Иначе говоря, все машинные числа имеют цифру 0 по избы- точному основанию и рациональные операции над машин- ными числами должны также давать нули по этому осно- ванию. Следовательно, можно вообще не выполнять по основанию рп+2 никаких операций, а всегда считать, что результаты имеют нуль по этому основанию. Таким образом, по избыточному основанию достигнута абсолютная надежность, поскольку оно непосредственно в реализации операций не участвует и истинный результат операции по этому основанию заранее предопределен. Расширение рабочего диапазона от еР до Р является существенно необ- ходимым для сохранения точности представления величин 192
в диапазоне поскольку специальным представлением числа вводится погрешность, максимальная величина которой у (рп+2— 1). Для того чтобы точность представле- ния не претерпела заметного уменьшения, надо увеличить диапазон представления величин, и тогда их истинные (без введенной погрешности) значения будут в пределах заданного рабочего диапазона. Рассмотрим пример специального представления чисел в систе- ме с основаниями pi = 2; р2 = 3; р3 = 5; р4 = 7; р5 = 11. Диапа- зон ее равен = 2-3-5-7-11 =2310. Введем избыточное основа- ние р6 = 13. Укажем ортогональные базисы образованной таким путем системы Вх = 15-015; В2 = 20-020; В3 = 6-006; В4 = 25-740; #5=16-380; #б = 6930. При этом полный диапазон будет Р = 30-030. Требуется пред- ставить в специальной форме число А = 1743. Находим цифры представления числа по всем основаниям А = (1, 0, 3, 0, 5, 1). Здесь ад+2 = 1. Вместо А берем А — 1 = (0, 2, 2, 6, 4, 0), имеющее цифру 0 по основанию р6 и исключаем это основание, получим А' = (0, 2, 2, 6, 4). В заключение отметим, что при представлении числа в специальной форме вид его альтернативной совокупности сохраняется. § 4.7. РАСПРЕДЕЛЕНИЕ ОДИНОЧНЫХ ОШИБОК ПО ИНТЕРВАЛАМ РАБОЧЕГО ДИАПАЗОНА Одним из методов определения правильности числа А = (ait а2, ап, ап+1) является так называемый метод нулевизации, заключаю- щийся в переходе от исходного числа к числу (0, 0, .... 0, Yn+i) при помощи такой последовательности преобразований, при которой не имеет места ни один выход за рабочий диа- пазон системы. Иначе говоря, нулевизация числа заключается в после- довательном вычитании из исходного числа некоторых минимальных чисел — констант нулевизации таких, что число А последовательно преобразуется в число вида (0, а', а;, ..а;, <+1), 13—1365 193
затем в число (0.0, а;.....................<, а;+1), далее в число вида (О, 0, 0, <, ...,<, а^). Продолжая этот процесс п раз, получим (О, 0, 0, О, ул+1). При этом константы нулевизации должны быть выбраны таким образом, чтобы при вычитаниях не имел места ни один выход из рабочего диапазона системы. Другими словами, если промежуточный результат нуле- визации имеет вид (0, о....0, а^-О, ...,а^‘>), то в качестве очередной константы нулевизации должно быть выбрано наименьшее из возможных чисел вида (0,0, ...,0,^-1>, тогда при вычитании гарантируется отсутствие перехода через диапазон. Таким образом, в качестве констант нулевизации выби- раются такие М чисел, которые представляют собой наи- меньшие возможные числа вида: (Л, и ^2,1» • • • > 1), Л, 1 = 1> 2, ..., Pi — 1; (0, /2, 2» •••>61+1,2), ^2, 2=1»2, •••чР2— (0, 0, . . ., 0, tn, п, tn+it n)i tn, п — 1 ? 2, . . ., рЛ 1. При этом общее количество констант определится как п 3 Pl — п. 1=1 Нулевизируя число, последовательно переходим от него к ближайшему меньшему числу, кратному р1г затем к чис- лу, кратному pip2, и, наконец, переходим к ближайшему п наименьшему числу, кратному & = Д Рг- г=1 При этом следует отметить тот факт, что результат нуле- визации не зависит от того, в какой последовательности (в каком порядке) нулевизируются отдельные цифры числа. 194
Теорема 4.16. Если в упорядоченной системе оснований Pl. р2< .... Рп, Pn+i нулевизируется число A = (ai, а2. •••. “п, ап+1)> то результат нулевизации А' = (0,0, ...,0, уп+1) не зависит от того, в каком порядке нулевизировались цифры исходного числа. Доказательство. Произвольно занумеруем первые п оснований Pi, р2, • • •. Рп и рассмотрим представление числа в системе, где основа- ния pt (i = 1, 2, ..., п) расставлены в произвольном порядке Piv Piv • • • > Pin- Здесь каждое из Д, jz, ..., jn принимает одно из значе- ний 1,2. ..., п. Тогда, по определению, константами нулевизации по первому основанию р^ будут числа 1.2, ..., Pjt 1: по второму основанию Piv ^Piv •••. (Рй ОPiv по /\-му основанию А—1 fe—1 А—1 П Pie 2 П Pie • •., (Pik~ 1) П Pie i~ 1 г== 1 г= 1 и, наконец, по последнему основанию 71—1 П—1 П— 1 П Pie 2 п Pie •••’ (pjn-l) П Pif i=l i=l i=l Поскольку на каждом этапе нулевизации используется лишь одна из констант каждого уровня, то наибольшее число С, которое может быть вычтено в процессе нулевиза- ции из исходного числа, определится как С = (рд-1) + (Р;а— 1)Рл+-.-+(Р^-1) П р^Пр*-1 i=l 1 i=l 13* 195
или С = £Р-1. Таким образом, независимо от порядка нулевизации наи- большее число, которое вычитается из исходного, меньше величины рабочего диапазона. Отсюда в процессе нулевизации мы можем перейти только к одному числу, лежащему на левой границе того интервала [/оР, (/+ 1) <£Р), в котором находилось исходное нулевизируемое число. Следствие 1. Результат нулевизации определяет номер интервала, в котором было расположено нулевизируемое число. Действительно, поскольку в результате получаем число, лежащее на левой границе интервала [/аР, (/+ 1) оР), в котором находилось исходное число, то имеет место равенство ]'& = Yn+i^n+i (mod pn+i) & или / = Yn+i^n+1 (modpn+1)- (4.10) Следствие 2. Если исходное число было правильным, то для него / = 0, откуда следует yn+1 = 0(mod р?г+1), т. е. в результате нулевизации правильного числа должны полу- чить нулевое число (0, 0, ..., 0, 0). Тогда по результату нулевизации можно судить о правиль- ности числа: если уп+1 = 0, то число правильное; если 0, то число неправильное и расположено в интер- вале [/еР, (/4-1)еР). Теорема 4.17. (О распределении ошибок.) Если в упо- рядоченной системе оснований Р1? Р2ч • • • > Рпч Рп+1 задано неправильное число Д = (а1? ..., ..., an, an+1), неправильность которого обусловлена ошибкой Aaf в цифре ctj по основанию р/, т. е. ai = ai + \ai (mod рО, и если в результате нулевизации числа А получаем число (0, 0, ..., 0, Yn+i), 196
то номер интервала / + 1, в который попадает неправиль- ное число А, определяется формулой / = [ ] (mod рп+1) + 6, (4.11) где 6 может принимать значения 0 или 1. Доказательство. Левый край интервала (/’-}- 1) Ф) определяется из соотношения Р ~ тп+1Хп+1 kP j = Pn+i------------= тп+1уп+1 (mod pn+1), Рп+1 где k — целое неотрицательное число. В соответствии с условием теоремы имеет место равен- ство Л = Л + (0, 0, О, Ааь0, . ..,0), где Л —правильное число: Л = (аь аг, а„, а,ш)- Иначе говоря, прибавление к правильному числу А числа (О, 0, ..., Даь ..., 0) переводит результат из первого интервала в интервал с номером /+1 или / + 2, т. е. /-6 = ---- 1 Pi р (mod pn+1) = [ Аю^р”+» ] (mod pn+1), Pn+i -1 откуда и следует утверждение (4.11) теоремы. Следствие. Для нормированной упорядоченной системы выражение (4.11) принимает вид / = Yn+1 = [A2»±i.](modpn+1) + d. (4.12) Теорема 4.18. (О распределении ошибок). Если в упо- рядоченной системе оснований Pi, Pz, • •Рп, Рп+1 задано неправильное число J4 = (alt ..., aH, at, аж, , an+1), 197
неправильность которого обусловлена ошибкой Даг в цифре at по основанию pt, т. е. аг = «г + Даг (mod pi), Даг = 1, 2, ..pt — 1, где аг —цифра по основанию pi правильного числа А = (alt ..., ai-lt at, ai+l, an+1), и если результат нулевизации числа’ (О, 0 ... О, Даг, 0 ... О, 0) имеет вид (0,0, ..., О, Yn+1), то величина ошибки Да, определяется равенством да. = ( P»+i~V»+i. (mod Pn+i) (mod pi), (4.13) где Ci и cn+i суть цифры числа -J- = (0, 0, ...,0, Ci,0, ...,0, cn+1). Pi Доказательство. Поскольку результат нулевизации не зависит от порядка нулевизации, то, проводя указан- ный процесс над числами Л и Л по цифрам оснований Pi, Рг, • Pt-i, Pt+i, • Рп, получим числа (0, 0, ...,0, 0, ...,0, ₽п+1) (4.14) и (0,0.....0, ₽{, 0, ...,0, ₽п+1) (4.15) соответственно. Завершение процесса нулевизации должно производиться константами вида Выберем пару Хг и К таких целых неотрицательных чисел, чтобы выполнялось условие Мс; = Рг(тобрг), (4.16) kiCi = рг (mod Pi). (4.17) 198
Умножая Xj и Xf на — и вычитая соответственно Pi из (4.14) и (4.15) получим Pn+i ^iGi+i — Yn+i (mod. Pn+i), Pn+i ^z^n+i= 0 (mod Pn+i), откуда M-A{ = ^iTY^(m0dpn+1), (4.18) сп+1 где деление понимается как формальное деление по модулю рп+1- Из (4.16) и (4.17) получим (К. — “ki) Ct = (ft — 0i) (mod pi). (4.19) В силу того, что выражения (4.14) и (4.15) получены в результате идентичного процесса, имеем 01 01 = Asti, т. е. (Ai — Аг) Ci — Ikat (mod рг), откуда и следует утверждение теоремы. Поскольку каждая из ошибок может перевести правиль- ное число в число, лежащее только в одном из двух интер- валов [/<0\ (/+1)^), [(/+1)^, (J + 2)^), то, зная номер интервала, куда попало неправильное число, можно определить как совокупность оснований, в цифрах по которым могла иметь место ошибка, так и возможную величину ошибки, переводящую правильное число в дан- ный интервал. В связи с этим открываются дополнительные возмож- ности к сокращению процесса определения места ошибки, а именно: — поскольку ошибки в цифрах по основаниям р1( р2.....рп могут располагаться лишь в интервалах, определенных теоремой 4.17, то в случае, когда имеет место ошибка, не относящаяся ни к одному из возможных интер- валов, можно утверждать, что она имела место в цифре по контрольному основанию; — поскольку кроме сведений о возможном местополо- жении ошибки мы обладаем сведениями и о величине пред- полагаемой ошибки, то эта дополнительная информация 199
в ряде случаев позволит быстрее определить истинную величину и местоположение ошибки; — в случае, когда альтернативная совокупность осно- ваний стягивается к одному основанию, нам сразу известна и величина, на которую следует откорректировать цифру по этому основанию. Рассмотрим распределение неправильных чисел по интервалам числового диапазона для конкретной системы оснований р4 = 2; р2 = 3; р3 = 5; р4 = 7; р5= 11. Приведем значения минимальных чисел нуле- визации в этой системе (1, 1, 1, 1, 1) (О, 1, 4, 4, 4) (О, 2, 2, 2, 2) (О, 0, 1, 6, 6) (О, 0, 2, 5, 1) (О, 0, 3, 4, 7) (О, 0, 4, 3, 2) (О, 0, 0, 1, 10) (0, 0, 0, 2, 8) (0, 0, 0, 3, 7) (0, 0, 0, 4, 5) (0, 0, 0, 5, 4) (0, 0, 0, 6, 2) Рассмотрим распределение неправильных чисел по интервалам числового диапазона в зависимости от величины ошибки. Основание Pi =2. Для числа с ошибкой Aaj — 1 Y5=["r](raodll)+d==5+6, т. е. ошибка переводит число в шестой или седьмой интервал. Основание р2 = 3. Для ошибки Д«2 — 1 (mod 11) + д = 7-|-д. Число перейдет в восьмой или девятый интервалы. Ошибка Да2 —2 дает (modll) + d-3+6 2-1 3 и переведет число в четвертый или пятый интервалы. Основание р3 = 5. Для ошибки Да3 = 1 получим Y5 = pT^] (mod 11)+6 = 6+б. При ошибке Да3 = 2 получим Ь = (mod 11) + б = 2 + б. 200
При Да3 = 3 получим Y5== Р"Т^] (mod Н) + б = 8+«. При Да3 = 4 будем иметь V5=[4-3511] (mod n) + 6 = 4 + &• Основание £4 = 7. Число с ошибкой Да4=1 даст Y5=["7-] (m0dll) + 6=1+«- Ошибка Да4 = 2 переводит число в интервал, определяемый Y s=[-^-] (mod ll) + 6 = 3 + S. Да4 = 3 переводит число в интервал, соответствующий (mod 11)4-6 = 4 + 6. При Да4 —4 получим Y s=[^-] (mod 11)+6 = 6 + б. При Да4 = 5 будем иметь Y s = [^T’] (mod n) + 6 = 7+s- Ошибка Да4 = 6 переведет число в интервал, определяемый Y5=[-^M-] (mod 11) + 6 = 9 + 6. Полученные результаты позволяют построить таблицу, в которой значениям у5 сопоставлены возможные ошибки До^. Несомненно, что каждому значению у5 может соответствовать ошибка и по контроль- ному основанию. Обозначив ее через Д&, будем иметь в качестве возможной ошибки значение Дд = у5 (см. табл, на стр. 202). Пример. Пусть задано неправильное число А = (1, 1, 4, 1, 1), к которому в процессе решения задачи прибавляется правильное число В=(0, 2, 0, 4, 2). Попробуем определить местоположение и величину ошибки в числе А. Проведем нулевизацию числа А (1, 1, 4, 1, 1) -(1, 1, 1, 1, 1) (0, 0, 3, 0, 0) (0, 0, 3, 0, 0) -(0, 0, 3, 4, 7) (0, 0, 0, 3, 4) (0, 0, 0, 3, 4) — (0, 0, 0, 3, 7) (0, 0, 0, 0, 8) 201
ТАБЛИЦА РАСПРЕДЕЛЕНИЯ ОШИБОК Значение Возможные ошибки 0 Число правильное, ошибок нет 1 Да4 = 1, Д& = 1 2 Да3 = 2, Да4=1, Д^ = 2 3 Д«2 = 2, Да3 = 2, Да4 = 2, Д/г = 3 4 Да2 = 2, Да3 = 4, Да4 = 2, Да4 = 3, Дд = 4 5 Да! = 1, Да3 = 4, Да4 = 3, Дд = 5 6 Дах = 1, Да3 = 1, Да4 = 4, Д/г = 6 7 Да2=1, Да3^=1, Да4 = 4, Да4 = 5, Дл = 7 8 Да2=1, Да3 = 3, Да4 = 5, Д& = 8 9 Да3 = 3, Да4 = 6, Д/г = 9 10 Да4 = 6, Д/г—10 Поскольку Y5 = 8, то из приведенной таблицы определяем сле- дующую альтернативную совокупность: — либо имеет место ошибка Да2=1 в цифре по основанию р2; — либо имеет место ошибка Да3 = 3 в цифре по основанию р3; — либо имеет место ошибка Да4 = 5 в цифре по основанию р4; — либо имеет место ошибка Д& = 8 в цифре по контрольному основанию. Выполним операцию сложения числа А с числом В 2+В = (1, 1, 4, 1, 1) + (0, 2, 0, 4, 2) = (1, 0, 4, 5, 3). 202
Нулевизируем полученную сумму (1, 0, 4, 5, 3) (0, 2, 3, 4, 2) -(1. 1. 1, 1, 1) — (0, 2, 2, 2, 2) (0, 2, 3, 4, 2) (0, 0, 1, 2, 0) (0, 0, 1, 2, 0) (0, 0, 0, 3, 5) — (0, 0, 1, 6, 6) — (0, 0, 0, 3, 7) (0, 0, 0, 3, 5) (0, 0, 0, 0, 9) Для суммы получено у5 = 9 и в соответствии с таблицей распре- деления ошибок определим возможную альтернативную совокупность: — либо имеет место ошибка Да3 = 3 по основанию р3, — либо имеет место ошибка Да4 = 6 по основанию р4, - —либо имеет место ошибка Д& = 9 по контрольному основанию. Поскольку ни величина, ни местоположение ошибки не могли изменяться, то можно утверждать, что имеет место ошибка Да3 = 3 по основанию р3. Отсюда искомое исправленное число А может быть представ- лено как А = А — (0, 0, 3, 0, 0) = (I, 1, 1, 1, 1). Рассмотренный пример демонстрирует тот факт, что увеличение информативности альтернативной совокупности позволило за один шаг не только определить местоположение ошибки, но и указать ее величину. Следует отметить, что распределение ошибок по интер- валам числового диапазона, как и быстрота сходимости альтернативной совокупности ошибок, зависит от величины контрольного основания, т. е. от имеющей место избыточ- ности. Теорема 4.19. (Предельная). Если в нормированной упо- рядоченной системе имеет место соотношение Pn+i>2pnpn-1, (4.20) то номер интервала 1/аР, (/+ 1) cF), в который попадает число, содержащее ошибку по одному из рабочих основа- ний, однозначно определяет местоположение и величину ошибки. Доказательство. На основании теоремы 4.17 о распре- делении ошибок номер интервала / + 1, куда попадает число А при наличии ошибки Ааг определяется как / = [^>*1] (mod/?n+1) + 6t т. е. число попадает либо в интервал с номером [ (modpM1), 203
либо P«^+I.](modpn+1)+L Условием того, что в интервалы с такими номерами не может попасть неправильное число, вследствие появле- ния ошибки по любому из рабочих оснований pj будет I _ |-] I (mod Л+1) > 2 или, усилив неравенство, 0Дагтгр,рп+1 Да^ргРп+j in -------------------------- (modp„+1)>2, Pipj Pipj IJ откуда Г1 kaitnipj — \ajtrijpi |1 (mod pn+l) >2. (4.21) L PiPj J Величина | — | 0 представляет собой целое положительное число. Отсюда при Рп-Ы > ^РпРп-Х выполняется условие (4.21), что и утверждается в теореме. Рассмотрим действие теоремы в конкретной системе оснований Р1 = 3; р2 = 5; р3 = 7. Выберем контрольное основание р4 = 71>2р2Рз- При этом рабо- чий диапазон Ф — 105, а полный диапазон Р = 7455. Ортогональные базисы с их весами определятся #1 = 2485, /7?1 = 1, #2=1491, т2=1, #3 = 1065, т3 = 1, #4 = 2415, /л4=з23. Выпишем минимальные числа нулевизации: по основанию р± = 3 (1, 1, 1, 1) (2, 2, 2, 2) по основанию р2 = 5 (0, 1, 6, 6) (0, 2, 5, 12) (0, 3, 3, 3) (0, 4, 2, 9) 204
по основанию Рз = 7 (О, 0, 1, 15) (О, 0. 2, 30) (О, О, 3, 45) (О, 0, 4, 60) (О, 0, 5, 4) (О, 0, 6, 19) Рассмотрим распределение ошибок по интервалам по основанию pi = 3 Ошибка Да4 = 1. Нулевизируем число (1, 0, 0, 0) (1,0, 0,0) (0,4,6,70) (0,0,4,61) -(1, 1, 1, 1) - (0, 4, 2, 9) -(0, 0, 4, 60) (О, 4, 6, 70) (0, 0, 4, 61) (0, 0, 0, 1) Поскольку у4= 1, то номер интервала N определится как = Ь23 (mod71)+ 1=24. Ошибка Да1 = 2. Нулевизируем число (2, 0, 0, 0) (2, 0, 0, 0) (0, 3, 5, 69) — (2,2,2, 2) -(0, 3, 3, 3) (О, 3, 5, 69) (0, 0, 2, 66) (О, 0, 2, 66) — (О, 0, 2, 30) (О, 0, 0, 36) Отсюда N = 36-23 (mod 71)+1 = 48. По основанию Pz = 5 Да2=1. Нулевизируем (0, 1, 0, 0) (О, 1, 0, 0) (0, 0, 1, 65) — (О, 1, 6, 6) —(0, 0, 1, 15) (О, 0, 1, 65) (0, 0, 0, 50) Здесь W = 50«23 (mod 71) +1 = 15. Да2 = 2. Ошибочное число (0, 2, 0, 0) (О, 2, 0, 0) (0, 0, 2, 59) — (О, 2, 5, 12) -(0, 0, 2, 70) (О, 0, 2, 59) (0, 0, 0, 29) Откуда W = 29-23 (mod71) +1 =29. Да2 = 3. Нулевизируем число (0, 3, 0, 0) (О, 3, 0, 0) (0, 0, 4, 68) — (О, 3, 3, 3) —(0, 0, 4, 60) (О, 0, 4, 68) (0, 0, 0, 8) Тогда W = 8-23 (mod 71) +1 = 43. Да2 = 4. Нулевизируем число (0, 4, 0, 0) (О, 4, 0, 0) (0, 0, 5, 62) — (О, 4, 2, 9) —(0, 0, 5, 4) (О, 0, 5, 62) (0, 0, 0, 58) Откуда W = 58 - 23 (mod 71) +1 = 57.
П о о с н о в а п и ю р3 = 7 Аа3 = 1. Нулевизируем число (О, 0, 1,0) (О, 0, 1, 0) — (О, О, 1, 15) (О, О, 0, 56) Тогда А = 56-23 (mod 71) +1 = 11. Аа3 = 2. Число (О, 0, 2, 0) (О, 0, 2, 0) — (О, 0, 2, 30) (О, О, 0, 41) Откуда N = 41 «23 (mod 71) +1 ==21. Да3 = 3. Нулевизируем (О, О, 3, 0), (О, 0, 3, 0) — (О, О, 3, 45) (О, О, 0, 26) Откуда А = 26-23 (mod 71)+ 1 =31. Да3 = 4. Нулевизируем число (О, 0, 4, 0) (О, 0, 4, 0) -(О, 0, 4, 60) (О, 0, 0, 11) Тогда 2V= 11-23 (mod 71) +1 =41. Да3=5. Число (О, 0, 5, 0) (О, 0, 5, 0) -(О, 0, 5, 4) (О, О, 0, 67) Откуда А = 67-23 (mod 71) +1 = 51. Аа3 = 6. Ошибочное число (0, 0, 6, 0) (О, 0, 6, 0) -(О, 0, 6, 19) (О, О, 0, 52) Откуда А = 52-23 (mod 71) +1 =61. Таким образом, пример иллюстрирует установленное предельной теоремой распределение ошибок по интервалам числового диапазона. § 4.8. АРИФМЕТИКА ОШИБОК Рассмотрим некоторые методы ускорения стягивания альтернативной совокупности ошибок при выполнении арифметических операций. Теорема 4.20. (О сложении и вычитании ошибок.) Если в упорядоченной системе оснований выполнялась правиль- ная операция сложения или вычитания, результат которой 206
расположен в интервале уз вследствие появления одиноч- ной ошибки в одном из операндов, то из альтернативной совокупности ошибок должны быть исключены члены, не удовлетворяющие соотношению lYs-YjKl, (4-22) где 72 — номер интервала, в котором расположен непра- вильный операнд. Доказательство. Пусть неправильным числом стал опе- ранд А. При прибавлении (вычитании) к нему правильного числа В ни величина, ни местоположение ошибки изме- ниться не может, т. е. та же ошибка имеет место и в резуль- тате операции. Поскольку номер интервала, в котором находится резуль- тат, определяется величиной ошибки, а величина самого числа может переместить ее только в соседний интервал согласно теореме 4.17 о распределении ошибок, то отсюда и следует утверждение теоремы. Теорема 4.21. (Об умножении ошибок.) Пусть в упоря- доченной системе оснований выполнялась правильная опе- рация умножения над операндами А и В, результат кото- рой С расположен в интервале ус, вследствие появления одиночной ошибки в одном из операндов. Тогда из альтернативной совокупности ошибок должны быть исключены члены, не удовлетворяющие равенству ДагР;(тобр;) = Дсг, (4.23) где Да; — возможная ошибка в цифре по основанию pi неправильного операнда; Р; — цифра по тому же основанию в правильном операнде; Дс;— возможная ошибка в цифре результата по тому же основанию. Доказательство. Для операции умножения имеем агр; (mod р;) = сг. (4.24) Предположим, что в операнде А по основанию рг имеет место ошибка величиной Да;, а в произведении—величи- ной Дс;. Тогда (4.24) может быть переписано в виде ((а; — Даг) + Да,) рг (mod рг) = (сг — Дсг) + Дсг. (4.25) Но если имеет место ошибка Да;, то истинное значе- ние а(;и) цифры операнда А по основанию pt суть а(и> = а;— Да;, 207
а истинное значение цифры результата C^ = Ci — \ch т. е. (modpi) = c(H>. (4.26) Из (4.25) и (4.26) получаем (4.23). Теорема 4.22 (О поразрядном делении ошибок.) Пусть в упорядоченной системе оснований выполнялась правиль- ная операция поразрядного деления над операндами А и В, результат которой С вследствие появления одиночной ошибки в операнде А стал неправильным числом. Тогда из альтернативной совокупности ошибок должны быть исключены члены, для которых не выполняется равен- ство (mod pt) = Дсг, (4.27) в случае, если Л —делимое, или исключаются члены, для которых не имеет места равенство (Да^.11) + Д^а(и> + До^А^) (mod pt) = 0, (4.28) если неправильный операнд А является делителем. Доказательство. Поскольку производится операция поразрядного деления, то имеет место jr(mod pi) = Ci или щ + ^р1 = ^псь (4.29) где k^ — целое неотрицательное число. Если ошибка по основанию pt имеет место, то истин- ной цифрой операнда А по основанию р^ будет = —Даг-, а истинной цифрой результата C^ = Ci — Act, откуда ^ + k2Pi = ^cW, (4.30) где k2 — целое неотрицательное число. Из (4.29) и (4.30) получим Д«г + ksPi = $ibCi, где k^ = ki — k2. 208
Отсюда (mod Pi) = &а, что и доказывает утверждение (4.27) теоремы. В случае, когда неправильный операнд А является делителем, выполнение поразрядного деления может быть записано как ₽i + k,Pi = (of) + Acq) (с(и) + А^), (4.31) где — целое неотрицательное число. Но истинная операция должна выполняться над пра- вильными цифрами по основанию pit т. е. должно иметь место соотношение Pi + ^A=a<H)c<H>, (4.32) где k5 — целое неотрицательное число. Из (4.31) и (4.32) получаем а(и>Ас/ + с(и)Ааг + Аа^ Ас/ = (fa — k2) pi, откуда вытекает утверждение (4.28) теоремы. Рассмотрим действие теорем 4.21, 4.22 в нормированной системе оснований Р1=2; р2 = 3; Рз = 5; р4 = 7; Р5 = Н. Пример. Задано неправильное число А = (1, 1, 3, 1, 2), на кото- рое в процессе решения задачи правильно умножается правильное число В = (1, О, О, 1, 4). Требуется определить местоположение и величину ошибки. Нулевизируем число А (1, 1, 3, 1, 2) (0, 0, 2, 0, 1) -(1, 1, 1, 1, 1) -(0, 0. 2, 5, 1) (0, 0, 2, 0, 1) (0, 0, 0, 2, 0) (0, 0, 0, 2, 0) ~(0, 0, 0, 2, 8) (0, 0, 0, 0, 3) Получили Ys = 3. Нулевизируем произведение АВ: АВ = (1, 1, 3, 1, 2)х (1, 0, 0, 1, 4) = (1, 0, 0, 1, 8) (1, 0, 0, 1, 8) -(1, Ь 1, 1, О (0, 2, 4, 0, 7) Здесь Уб = 4. (0, 2, 4, 0, 7) — (0, 2, 2, 2, 2) (0, 0, 2, 5, 5) (0, 0, 2, 5, 5) -(0, 0, 2, 5, 1) (0, 0, 0, 0, 4) 14 — 1365 209
Из таблицы распределения ошибок выпишем условную альтерна- тивную совокупность (р2, Рз, Р4’ Рб)- Проверим теперь выполнение требования (4.23) теоремы об умно- жении ошибок. Основание р2. Имеем Да2 = 2, р2 = О, Дс2 = 2, т. е. 2-0 =£ 2. Условие (4.23) не выполняется, ошибка Да2 —2 в операнде А невоз- можна. Основание р3. Имеем Да3 = 2, р3 = 0, Дс3 = 4. Здесь 2-0 =£ 4, т. е. ошибка Да3 = 2 невозможна и должна быть исключена из аль- тернативной совокупности. Основание р4. а) Да4 = 2, Р4=1, Дс4 = 2. Здесь 2-1=2. Условие (4.23) выпол- нено, ошибка Да4 = 2 возможна. б) Да4 = 2, Р4=1, Дс4 = 3, условие теоремы 2-1 3 не выпол- няется. Подобная ошибка невозможна. Для контрольного основания Д^ = 3, Р& = 4. Дс= 4, но (3-4) (mod 11) 4^ 4. Ошибка по контрольному основанию невоз- можна. Таким образом, ошибка находится в цифре по основанию р4 и ее величина Да4 = 2. Пример. Определить альтернативную совокупность ошибок при выполнении правильной операции деления числа Л = (0, 2, 4, 2, 5) на правильное число В = (1, 2, 2, 3, 6). Определим альтернативную совокупность ошибок числа Л, для чего проведем нулевизацию. (0, 2, 4, 2, 5) (0, 0, 2, 0, 3) (0, 0, 0, 2, 2) — (0, 2, 2, 2, 2) — (0, 0, 2, 5, 1) — (0, 0, 0, 2, 8) (0, 0, 2, 0, 3) (0, 0, 0, 2, 2) (0, 0, 0, 0, 5) По значению у5 = 5 из таблицы определяем альтернативную совокупность ошибок (рА; р3; р4; р5), причем возможны следующие величины ошибок: Да!=1, Да3=4, Да4=3, Дд = 5. Выполним операцию поразрядного деления А на В: А : В = =(0, 2, 4, 2, 5): (1, 2, 2, 3, 6) = (0, 1, 2, 3, 10). Нулевизируем частное (0, 1, 2,3, 10) (0, 0, 3, 6,6) — (0, 1, 4,4, 4) — (0, 0, 3,4, 7) (0, 0, 3, 6, 6) (0, 0, 0, 2, 10) (0, 0, 0,2, 10) - (0, 0, 0, 2, 8) (0, 0, 0, 0, 2) По значению у5 = 2 определяем для частного альтернативную совокупность ошибок (р3; р4; р5). При этом условная альтернативная совокупность будет (Pt, Рз', Pi Рз) (Рз, Pi, Рз) = (Рз, Pi, Рз)- Проанализируем полученную совокупность. 210
Основание р3. Аа3 = 4, |33=2, Дс3 = 2. Условие (4.27)-^-—2 выполняется, и в цифре по основанию р3 возможна ошибка. 3 Основание р4. Да4 = 3, р4=3, Ас4=1. Здесь -^-=1. Усло- вие (4.27) выполняется и в цифре по основанию р4 возможна ошибка. Контрольное основание. Да5 = 5, р5 = 6, Дс5 = 2. По условию теоремы к -g- (mod 11) = 10 ф 2, т. е. контрольное основание должно быть исключено из условной альтернативной совокупности. Условная альтернативная совокупность примет при этом вид (р3, р4). Знание местоположения и величины возможной ошибки позво- ляет нам довольно эффективно сокращать величину условной альтер- нативной совокупности ошибок и в большинстве случаев сразу исправлять имеющую место ошибку. § 4.9. СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ПРОЦЕССА СХОДИМОСТИ АЛЬТЕРНАТИВ- НОЙ КОРРЕКЦИИ Моделирование процесса стягивания альтернативных совокупностей производилось по блок-схеме на стр. 212. В качестве оснований системы счисления были выбраны следующие: Pi = 2, р2 = 3, р3 = 5, р4 = 7, р5=11, ре =13, р7 = 29, pg = 31, pg — 31, р10 = 41. Все числа как исходные, так и для промежуточных дей- ствий выбирались случайно из рабочего диапазона Г 0, L Рп+1/ так, чтобы результаты операции, входящих в цепь, не выхо- дили за пределы этого же диапазона. Кроме того, в про- грамме цепи операций участвовали операции, существенно меняющие величину и характер числа. Совершенно есте- ственно, что такие операции, как прибавление +1, мало меняющие величину числа, не влияют на характер альтер- нативной совокупности числа и тем самым не доставляют новой информации для определения места ошибки. Поэтому малоинформативные операции не вводились в программу цепи. Исследовались две модели сбоев: 1. Все время выходит из строя одно и то же основание (и так по каждому из оснований). 14* 211
212
2. Основания выходят из строя случайно по заданному закону распределения. Для каждой модели сбоев подсчитывалась длина цепи операций, необходимой для локализации места сбоя. Результаты получались в виде гистограмм частот сходи- мости для фиксированных значений длин цепи. На основе этих гистограмм строились графики зависимостей вероят- ностей обнаружения и коррекции ошибки от номера опера- ции в цепи, а также от длины цепи при сбоях в различных основаниях. Помимо этого велся подсчет средних длин цепей и был построен график зависимости средней длины 41епи от величины основания, цифра по которому оши- бочна. Полученные данные позволили также построить зависи- мости вероятностей локализации места ошибки в функции от длины цепи операций для различных величин осно- ваний. Анализ результатов проведенного моделирования пока- зывает, что процесс стягивания альтернативных совокуп- ностей всегда сходится и дает однозначное определение искомого основания. Однако нарастание вероятности сходи- мости сильно зависит от величины основания, по которому произошла ошибка. Аналогичная картина имеет место и для вероятности самокоррекции, трактуемой как частный случай сходимости альтернативных совокупностей. Если для малых оснований (2, 3, 5, 7) основная мас- са альтернативных совокупностей при вычислении цепи сходится на второй или третьей операции цепи, причем максимум приходится на первую операцию, т. е. сразу же на самокоррекцию, то для более старших оснований (29, 31, 37, 41) имеет место сдвиг значения максимума на третью операцию и резкое уменьшение возможных самокор- рекций. Это, в частности, объясняется уменьшением вероят- ности получения нуля по искаженному основанию и более равномерному распределению этих нулей по всей совокуп- ности результатов операций цепи. Аналогично и вероят- ность локализации места ошибки по мере увеличения длины цепи быстрее стремится к 1 для малых оснований. Если для основания pt = 2 вероятность локализации ошибки за две операции равна 0,73, то для pt = 41 она уменьшается до 0,28, т. е. почти в три раза. Да и сам харак- тер зависимости показывает, что пока величины оснований изменяются сравнительно плавно (2, 3, 5, 7), то и кривая 213
достаточно плавная, а при резком увеличении величины основания с 13 до 29 и далее до 41 кривая резко падает вниз. С увеличением длины цепи вероятность локализации места ошибки все меньше зависит от величины основания и примерно при длине цепи в И—12 операций вероятности выравниваются к значению, равному единице. Изложенное позволяет сделать вывод, что метод стяги- вания альтернативных совокупностей результатов вычис- ления последовательных операций цепи позволяет локали- зовать место ошибки при максимальной длине цепи в 12 опе- раций. Средняя же длина цепи составляет 4—5 опеъ раций. Процесс стягивания альтернативных совокупностей может быть несколько ускорен, исходя из следующих соображений. Ввиду того что средняя длина цепи растет с величиной оснований, целесообразно увеличивать надеж- ность работы по большим основаниям теми или иными тех- ническими средствами, хотя бы даже за счет уменьшения надежности малых оснований. В этом случае сбои будут иметь место преимущественно по малым основаниям и, сле- довательно, ускорится стягивание альтернативы к месту ошибки. В соответствии со сказанным были промоделиро- ваны процессы стягивания при равновероятных сбоях и независимо от величины оснований при более вероятных сбоях для малых оснований. Результаты моделирования показывают заметное ускорение стягивания во втором случае. Средняя длина цепи здесь получается равной трем операциям. Далее моделировался способ локализации места ошибки по принятой гипотезе, а именно по какому-либо из основа- ний, входящих в альтернативную совокупность неправиль- ного числа, делается исправление и над полученным пра- вильным числом выполняются дальнейшие операции цепи. Предполагается, что неправильно исправленное число не должно привести к истинному результату в операциях цепи. Моделирование производилось по блок-схеме, пред- ставленной на стр. 215. Проводилось оно в тех же условиях, что и моделиро- вание процесса стягивания альтернативных совокупностей. Анализ полученных результатов показывает, что и спо- собом гипотез достигается удовлетворительная локализация 214
места ошибки, причем в отличие от метода стягивания альтернативных совокупностей вероятность локализации места ошибки почти не зависит от величины основания, по которому произошел сбой. Изменение величины этой вероятности с увеличением основания настолько незначи- тельно, что практически не оказывает влияния на среднее значение длины цепи, необходимой для локализации ошиб- ки, которое в способе гипотез составляет две операции для сбоя по любому из оснований. Что касается максимальной длины цепи, то она в способе гипотез равна шести операциям. 215
Таким образом, можно сделать вывод, что способ гипотез ускоряет процесс локализации ошибки как в среднем, так и по максимуму, примерно вдвое по сравнению с методом стягивания альтернативных совокупностей. Так, при выполнении трех операций вероятность локализации ошиб- ки в методе стягивания составляет 0,62, а в методе гипотез эта вероятность равна 0,965. Однако при отмеченных достоинствах метод гипотез сложнее по своей реализации как в аппаратурном отноше- нии, так и алгоритмически по сравнению с методом стяги- вания альтернативных совокупностей. В то время как последний не прерывает естественного хода процесса вычис- лений по программе, а как бы параллельно контролирует его, метод гипотез может в ряде случаев потребовать пре- рывания процесса и возвращения его к началу принятия гипотезы. Поэтому представляется целесообразным при- менить комбинированный процесс. В частности, можно большие основания проверять методом гипотез и исключать их из альтернативной сово- купности, а для оставшейся части альтернативной сово- купности применить метод стягивания. Комбинированный метод также моделировался и были получены данные, характеризующие параметры процесса локализации места ошибки в зависимости от соотношения частей альтернативной совокупности, обрабатываемых раз- личными методами. Анализ этих данных ясно показывает, что применение комбинированного метода весьма эффек- тивно. Количество исключаемых оснований различно при различных объемах альтернативных совокупностей и раз- личном распределении в них малых и больших оснований. Оптимум находится вблизи 0,4 от количества оснований, входящих в альтернативную совокупность. При этом сред- няя длина цепи, необходимой для локализации ошибки, составит две операции, а вероятность локализации ошибки при шести операциях в цепи равна 0,975.
ГЛАВА АЛГОРИТМЫ ВЫПОЛНЕНИЯ НЕМОДУЛЬНЫХ ОПЕРАЦИЙ Не вызывает сомнения эффективность применения сис- темы остаточных классов при реализации большинства арифметических операций. Несколько сложнее обстоит дело при выполнении немодульных (позиционных) операций, требующих знания величины всего числа в целом. Так, при определении знака числа, при выполнении арифметического сравнения двух чисел, в некоторых слу- чаях деления, при округлении нам необходимо иметь све- дения о величине всего числа или, что то же, необходимо знать местоположение числа в числовом диапазоне. При этом, как правило, нам достаточно знать номер интервала /, в котором находится число. Для введения знака числа весь числовой диапазон разбиваем на две части и по тому, в какой из частей лежит рассматриваемое число, судим о его знаке. Здесь, зная [Р Р \ ] —,(/4-1) —) , в котором расположено Рп Рп / число, мы знаем и его знак. Сравнивая по величине два числа, судим о том, какие из чисел больше по знаку разности. Знание номеров интервалов, в которых расположены операнды, позволяет упростить процесс сравнения, а имен- но: если числа лежат в разных интервалах, то из них боль- 217
шим является число, лежащее в интервале с большим номе- ром, и т. д. До сих пор пользовались при рассмотрении немодуль- ных операций некоторыми величинами, характеризующими все число в целом: рангом, а позже следом, характером. В настоящей главе предполагается рассмотреть некото- рые алгоритмы определения минимального следа или харак- тера числа, а также номера интервала, в котором распо- ложено число, с целью эффективной реализации немодуль- ных операций. § 5.1. МЕТОД ВЕСОВЫХ ХАРАКТЕРИСТИК Введем понятие веса минимального псевдоортогональ- ного числа. Определение. Под весом минимального псевдоорто- гонального числа Ма. = (0, 0, ...,0, аь0, будем понимать правильную двоичную дробь длиной /: т1а. = + е^2-2 + ... + е^2"г, где ( 0, если (2J-Icxz, 2^)-правильная пара, а* ( 1, в противном случае при j = 1, 2, ..., I. Связь величины минимального псевдоортогонального числа с его весом определяется следующей теоремой. Теорема 5.1. Если в нормированной системе оснований Pi. Рг. ...» Рп задано минимальное псевдоортогональное число ^а. — (О? О, . . ., OCf, . . . , »$«.) с весом длиной I т1а. = 8^2-1 + 8^2-2 + • • + еаг2-\ то величина связана со своим весом следующим соот- ношением: < < ма. С т\ ^- + 2-1^-. (5.1) 218
Доказательство, Согласно определению веса числа, если 8^=1, пара (а/, at) является неправильной, т. е. при сложении исходного минимального псевдоортогональ- ного числа 7Иа. самого с собой получим 2Л4„>-^— 1 Рп или М№(>2-^, 1 Рп а если еУ^ = О, то пара (а/, аг) правильная, откуда 0<2Ма.< — Рп или Mai<2-^. 1 Рп Объединяя эти неравенства, можем написать &-1 — <Ма.< е^/2-1 — + 2"1 — . 1 Рп 1 1 Рп 1 Рп Естественно, что подобное неравенство может быть написано для любого j < I —<Л4 . <5* 9-1 I 9-1 (5 О\ Ч2 рп<м2^<^ рп+2 Рп. (5.2) Применим далее метод индукции. Предположим, что (5.1) справедливо для l = j— 1. Покажем, что ведливо тогда и для l = j. Пусть имеет место £-<Ма.<т^ + 2-«-*> 1 Рп I Рп ' Рп Прежде всего отметим, что оно спра- (5.3) Ма, 1 L Рп Но на основании (5.3) можем написать г . М, 23-1 &/Рп. Рп _ о?-1»?3'-1 — ~1 Рп ' ^23-1а; & откуда = 2^. - 2^^ (5-4) 219
Тогда неравенство (5.2) может быть переписано в виде 8^2-1^-+ 2^7*^<2^Л1О < 8^2-’ + 1 Рп 1 Рп 1 1 Рп + 2-1 — + — Рп г Рп или m*i pn+&af Pn Но так как j—i . (j)n-j & I n-j & ai 77+eai2 к т]а. = т3а.1 + 8^2’7 то ^а. — <Л1а 1 Рп 1 а* Рп Рп ’ что и доказывает утверждение (5.1) теоремы. Следствие 1. Если для данного основания pt будет найдено целое число ль удовлетворяющее сравнению 2^ == 1 (mod pt), то имеет место следующее равенство (2л‘-1)Ма. = ^, (5.5) 1 Рп где k — целое число. В дальнейшем величину будем называть длиной веса гиа,. Действительно, полагая в (5.4) /— 1 =Ль получим Л. л. л* Ф 1ИЯ. =2 1Ма — 2 (5.6) 2 i 1 Рп или, учитывая, что, по определению ль имеет место М2ягаг = М“<’ можем записать (5.6) в виде = (5.7) 1 1 Рп что совпадает с (5.5) при k = 2 1таг.. 220
Следствие 2. Из (5.7) вытекает в этом случае пред- ставление Л/а. в виде л л j 2 !ma Пусть нам задано число а2, ...» ап). Образуем сумму МА минимальных псевдоортогональ- ных чисел ^ = (04, 0, 0, (5-9) л вели- условие (5.10) “ (0» 0’ •••» ^аЛв1)’ каждое из которых имеет вес (i = 1, 2, ../г— 1), т. е. п— 1 МА = (оц, а2, ..., an-i, SA) = 2 Ма . i=l ' Предположим, что наименьшее общее кратное чин ль л2, • • •» лп-1 таково, что выполняется 2я = 1 (mod/?j), 1 = 1, 2, ..., л-1, тогда, переходя для каждого из выбранных минимальных псевдоортогональных чисел к весу длиной л, получим в соответствии с (5.8) ^а. Ф М =______L __ ai 2л-1 Рп ’ после чего выражение примет вид п— 1 (5.1D 1=1 Определение. Весом mJ числа А длины л будем назы- вать сумму весов длиной л минимальных псевдоортого- нальных чисел, где величина л удовлетворяет (5.10), составляющих данное число А, т. е. п— 1 2 т”г г=1 1 221
Тогда выражение (5.11) может быть записано в виде Сформулируем следующую теорему. Теорема 5.2. (О минимальном следе числа.) Если в нормированной системе оснований задано число А = (а1? а2, ..., ап) с весом длиной л, не кратным величине 2 я — 1, и сле- дом SA, то минимальный след заданного числа опреде- ляется равенством 2^/71"^ \ ^-AJj(modpn). (5.13) Доказательство. В соответствии с (5.12) и условиями теоремы имеем /72 А I " /72- Л \ Ф —— —<Л1А< +1 —• 2Л — 1J Рп А \[_2Я — 1J / Рп Следовательно, число МА находится в интервале, г \ Г 2лт^" отстоящем от интервала |_0, —) на величину ——- интервалов. Так как минимальная форма А* числа А имеет след Sa, а число А имеет след SA, то МА = Л* + (SA - SX) (mod рп) , а отсюда ’ 2ntnA ” _2Я —1_ sA-s (mod рп), что и составляет утверждение теоремы. Рассмотренный метод позволяет точно определить зна- чение минимального следа числа, а стало быть, номер интер- вала, в котором оно расположено. Сопоставлением значений «л, SA и SA также точно определяем величину характера числа. Однако для оперирования с числами в достаточно боль- шом диапазоне длина веса л в общем случае получается достаточно большой и образование веса т™ требует сложе- 222
ния длинных чисел (весов), что затрудняет практическую реализацию данного метода. Поэтому предлагаемый метод может быть рассмотрен в несколько другом плане, а именно зададимся весами небольшой длины и попробуем сузить область неопределен- ности минимального следа числа. Выберем длину веса числа, равную I. Тогда вес мини- мального псевдоортогонального числа определится как т1а., т. е. уменьшится на величину т*. - т1а. = е^+1)2-(г+1> + ... + е^2-я < 2~1, а вес числа А определится как п— 1 тА = тА ~ 3 (та. — т1а ) г=1 1 1 ИЛИ т1А< т1А + (п— 1)2"1, откуда 2Я7?А Г 9^ j < SA - si (mod pn) < у (mlA + (n - 1) 2~z) . (5.14) Поскольку предполагается, что л > Z, то с достаточ- ной степенью точности можно считать 1- 2я —1 Величину I выберем таким образом, чтобы удовлетво- рялось неравенство (п- 1) 2-‘ < 1 или l> log2 (п-1). Тогда (5.14) примет вид [mlA] < SА — SI (mod рп) < [mlA + 1 ], т. е. минимальный след числа может иметь значения либо Sa = (SA— [m^]) (mod pn), либо Sa = (Sa — [mlA] — 1) (mod pn). Как видим, область возможных значений минимального следа числа существенно уменьшилась. 223
§ 5.2. МЕТОД НУЛЕВИЗАЦИИ В гл. 4 уже говорилось о методе нулевизации, при определении номера интервала, в котором расположено интересующее нас число. Там же была сформулирована теорема о независимости результата нулевизации от поряд- ка проведения процесса. В настоящем разделе предпола- гается более обстоятельное рассмотрение этого метода. Определение. Нулевизацией будем называть такой способ преобразования числа, заданного в системе остаточных классов, при котором на каждом этапе преобра- зования число нулевых цифр в представлении числа увели- чивается и при этом обеспечивается невыход преобразуе- мого числа за границы того интервала числового диапазона, в котором оно расположено. Определение. Минимальным числом нулеви- зации Мц будем называть наименьшее из чисел вида Ми = (0, 0, ...,0, ар, a$lt ...,ар), (5.15) причем i = l, 2, ..., п-1, /=1, 2, ..., Pl-\. Очевидно, что всего минимальных чисел нулевизации для заданной системы оснований будет Pt + Рг + • • • + Pn-i — (л — 1) чисел. Теорема 5.3. {Предельная теорема нулевизации.) Пусть в нормированной системе оснований р2, •••, Рп задано число А = (0, ..., 0, аг, аж, . • ., ап), лежащее в интервале г Ф Ф \ t—, (t+1)—} L Рп V ' Рп) и пусть задано минимальное число нулевизации Mi(P.-a.) = (О, • • •. 0, pi-Яг, а-+гГ“г>, . . <Pi“a,>)- Тогда сумма этих чисел A 4-Af{(p._a.) либо лежит в том же интервале, либо на его правой гра- нице. 224
Доказательство. Действительно, прибавление к чис- лу А минимального числа нулевизации УИ,(р._а.) не может образовать число, большее Если бы имело место неравенство Д + Мцр ос.) > (t + 1 ) — , 1 1 Рп можно было бы из чисел вида (5.15) выбрать число 7\р;-аг), удовлетворяющее условию тда,-.,,=«+1)£-л. Но тогда имело бы место неравенство Т\(Р._а.) < Afi(Pj_aj), что противоречит определению минимального числа нуле- визации. Тем самым доказывается, что л+м1(р._аг)<(/+1)£, что и составляет утверждение теоремы. Теорема 5.4. Если в нормированной системе основа- ний задано число А = (а4, а2, ..., ап) и если методом нулевизации числа А минимальными чис- лами нулевизации 7Wi(P._a.) получено число вида (О, 0, ....O.a^-D), то минимальный след числа А определяется равенством S*A=(an — a^-1) + 0 (modpn). (5.16) Доказательство. Последовательно применяя теорему нулевизации 5.3 к числу Айк полученным промежуточ- ным результатам (и — 1) раз, получим: А1 = А + М1(р _ai) = (0, a<‘>, a^), .... a(i)r a<0), A2 = A1 + M2(P2_aa>)=(0,0,a(32), ...,422v42))’ An-i = An-2 + A4n-i, ~ (0> 0, • • •, 0, a^n-1)). 15 — 1365 225
При этом предполагается, что в случае, когда нулеви- зируемая цифра равна нулю, соответствующее минималь- ное число нулевизации равно нулю. Таким образом получаем, что число А находится в интер- вале Г-1)-1)—,чп-1) —) • L k п ' Рп п Рп) Поскольку минимальный след S1 числа А есть такое значение цифры по последнему основанию, при котором число находится в первом интервале, то минимальный след может быть определен по значению ап и Рассмотрим возможные соотношения между ал и полу- ченным Случай 1. Пусть ал>а<1п-1)-~ 1. Тогда по определению минимального следа следует что совпадает с (5.16). Случай 2. Пусть 1. Тогда минимальный след числа А определяется как 51 = ап + рп — (а^"1) — 1), что также совпадает с (5.16). До сих пор рассматривался процесс последовательной нулевизации. В целях экономии времени выполнения этой процедуры на каждом этапе нулевизацию можно проводить одновре- менно по двум разрядам. Правда, для этого потребуется некоторое увеличение количества минимальных чисел нуле- визации. Наилучшее сочетание пар, в которые следует объеди- нить основания для каждого этапа нулевизации, опреде- ляется следующей теоремой. Теорема 5.5, Если задано 2s целых чисел аг (i = 1, 2, . . ., 2s), удовлетворяющих неравенствам а^ ^2 ^2s-l ^2$, (^• 17) и если сумма парных произведений, образованных из этих чисел 2s 5== । ataj, 226
такова, что каждое из чисел аг встречается в одном и только одном члене этой суммы, то из всех возможных таких сумм, образованных различными группировками членов ait наи- меньшей является сумма S = 0.^23 + + • • • + (5.18) Доказательство, Докажем сначала справедливость этого утверждения для четырех чисел ai < 02 < а3 < а4. Образуем из этих чисел все возможные суммы парных произведений: Si = а^а2 4“ а3а^ S2 = +.^4, S = а ta4 4~ ^2^3 • Вычислим разности Si — S = (fli а3) (#2 — #4) о, S2 — S=(a1 — а2) (а3 —а4) >0. Отсюда следует, что S является наименьшей суммой. Рассмотрим теперь сумму S, образованную произвольной группировкой членов at (i = 1, 2, . . 2s): S = a, а^ + а^+ ... 4-%,^. Здесь dj, а,2, —числа из (5.17). Если в этой сумме не встречается произведения а^в, то можно в ней выбрать сумму следующих двух членов: Заменив эту сумму в 5 на ata2s + a-j , получим новую сумму St, для которой имеет место неравенство Si<S. Далее, в S4 находим два члена а2а^ + a2s-iOjm и, заме- нив их на a2a2s-i + получим сумму S2, где S2<Si. Продолжая таким путем минимизировать полу- чающиеся суммы, придем к (5.18). Следствие. Если задано 2s +1 целых чисел, удовле- творяющих условию ... U-23 #2s+i» 15* 227
где аА > 1, то минимальная сумма попарных произведе- ний, в которой каждое число щ (4=1,2, ..., 2s + 1) вхо- дит в один и только один член суммы, имеет вид 5 = + #2^28-1 + • • • + as^s+i + ^2s+l« (5.19) Действительно, добавляя член aQ = 1, изменяем рас- сматриваемую сумму всего на единицу. Применяя к полу- ченным числам предыдущую теорему, получаем (5.19). ^ Примечание. Утверждение, что сумма (5.19) минимальная, справедливо и для = 1, но при этом могут существовать еще какие-то комбинации членов суммы, обеспечивающие то же минимальное значение суммы. Например, для трех чисел 01 < а2 < а3 могут быть образованы следующие суммы: = #2^3 “Ь #1» S2 = aia3 + a2, (5.20) S = ^1^2 4” #з, разность которых будет Si — S = (fl3 — dj (d2 — 1) 0, S2 — S = (d3 — d2) (fli — 1), т. e. при ai = 1 получаем S2 = S, иначе говоря, обе ком- бинации членов дают одинаковое минимальное значение суммы. В нашем случае объединения оснований системы для экономного проведения парной нулевизации всегда имеем младшее основание, большее единицы. Приведем примеры, иллюстрирующие выполнение последователь- ной и парной нулевизации. Выберем для этой цели систему оснований Р1=3; р2=б; р3=7; р4 = 13; р5=31. Для последовательной нулевизации выпишем минимальные числа нулевизации. По основанию Pi = 3 Ми = (1, 1, 1, 1, 1) = 1, Л421 = (2, 2, 2, 2, 2) =2. По основанию р2 — Ь: Л412 = (0, 1, 6, 6, 6)= 6 М32 = (0, 3, 3, 3, 3) = 3 Л422=(0, 2, 5, 12, 12) = 12 Af42=(0, 4, 2,9, 9) = 9 228
По основанию р3=7: Л413=(0, 0, 1, 2, 15) = 15 М23=(0, 0, 2, 4, 30) =30 Л433= (0, 0, 3, 6, 14) = 45 По основанию р4=13: Л414 = (0, 0, 0, 1, 12) = 105 М24 = (0, 0, 0, 2, 24) = 210 М34=(0, 0, 0, 3, 5) = 315 М44=(0, 0, 0, 4, 17) = 420 М54 = (0, 0, 0, 5, 29) = 525 Мб4 = (0, 0, 0, 6, 10) = 630 Для проведения парной нулевизации, как следует из третьей теоремы нулевизации, наиболее экономно объединять основания в следующие пары: ptp4 и р2р3. При этом общее количество необходимых минимальных чисел будет S — Р1Р4+РгРз = 74. Их удобно расположить в следующие таблицы. М43=(О, О, 4, 8, 29) = 60 М5з=(0> 0, 5, 10, 13) = 75 Л463=(0, 0, 6, 12, 28)=90 М74 = (0, О, 0, 7, 22)= 735 Л184=(0, О, 0, 8, 3) = 840 М94 = (0, О, 0, 9, 15)= 945 М104 = (О, О, 0, 10, 27) = 1050 М114 = (0, О, 0, 11, 8) = 1155 М124 = (0, О, 0, 12, 20) = 1260 а4 аА = 0 aj = 1 cq = 2 0 (0, 0, 0, 0, 0) (1,3, 6, 0, 13) (2, 1, 5, 0, 26) 1 (0, 2, 6, 1, 27) (1, 1, 1, 1, 1) (2, 4, 0, 1, 14) 2 (0, 0, 1,2, 15) (1, 3, 0, 2, 28) (2, 2, 2, 2, 2) 3 (0, 3, 3, 3, 3) (1, 1, 2, 3, 16) (2, 4, 1,3, 29) 4 (0, 0, 2, 4, 30) (1, 4, 4, 4, 4) (2, 2, 3, 4, 17) 5 (0, 3, 4, 5, 18) (1, Ь 3, 5, 0) (2, 0, 5, 5, 5) 6 (0, 1, 6, 6, 6) (1, 4, 5, 6, 19) (2, 2, 4, 6, 1) 7 (0, 3, 5, 7, 2) (1, 2, 0, 7, 7) (2, 0, 6, 7, 20) 8 (0, 1, 0, 8, 21) (1,4, 6, 8, 3) (2, 3, 1, 8, 8) 9 (0, 4, 2, 9, 9) (1, 2, 1, 9, 22) (2, 0, 0, 9, 4) 10 (0, 1, 1, 10, 5) (1, 0, 3, 10, 10) (2, 3, 2, 10, 23) 11 (0, 4, 3, 11, 24) (1, 2, 2, 11, 6) (2, 1, 4, 11, 11) 12 (0, 2, 5, 12, 12) (1, 0, 4, 12, 25) (2, 3, 3, 12, 7) «з а2 = 0 а2= 1 а2 = 2 0 (0, 0, 0, 0, 0) (0, 1, 0, 0, 19) (0, 2, 0, 0, 7) 1 (0, 0, 1, 0, 23) (0, 1, 1,0, 10) (0, 2, 1, 0, 29) 2 (0, 0, 2, 0, 14) (0, 1, 2, 0, 1) (0, 2, 2, 0, 20) 3 (0, 0, 3, 0, 5) (0, 1, 3, 0, 24) (0, 2, 3, 0, 11) 4 (0, 0, 4, 0, 27) (0, 1, 4, 0, 15) (0, 2, 4, 0, 2) 5 (0, 0, 5, 0, 18) (0, 1, 5, 0, 6) (0, 2, 5, 0, 25) 6 (0, 0, 6, 0, 9) (0, 1, 6, 0, 28) (0, 2, 6, 0, 16) 229
«3 а2 = 3 а2 = 4 0 (0, 3, 0, 0, 25) (0, 4, 0, 0, 13) 1 (0, 3, 1, 0, 16) (0, 4, 1, 0, 4) 2 (0, 3, 2, 0, 8) (0, 4, 2, 0, 26) 3 (0, 3, 3, 0, 30) (0, 4, 3, 0, 17) 4 (0, 3, 4, 0, 21) (0, 4, 4, 0, 8) 5 (0, 3, 5, 0, 12) (0, 4, 5, 0, 0) 6 (0, 3, 6, 0, 3) (0, 4, 6, 0, 22) Пример. Провести последовательную нулевизацию числа А~ = (0, 1, 3, 4, 13) и определить его минимальный след. Проводим нулевизацию: Ai = A + 0 = (0, 1, 3, 4, 13), ^12 = ^1 +м24= (0, 1, 3, 4, 13) + (0, 4, 2, 9, 9) = (0, 0, 5, 0, 22), А123 = А12 + Л432 = (0, 0, 5, 0, 22) +(0, 0, 2, 4, 30) = (0, 0, 0, 4, 21), А1234 = А123+М49=(0, 0, 0, 4, 21) + (0, 0, 0, 9, 15) = (О, О, 0, 0, 5). Поскольку ап = 13, а = 5, из (5.16) получаем, что 51 = 9. Пример. Провести парную нулевизацию числа А = (0, 1, 3, 4, 13) и определить его минимальный след. Проводим нулевизацию А14 = (0, 1, 3, 4, 13) + (0, 4, 2, 9, 9) = (О, 0, 5, 0, 22), >11234 = (0» 0» 5, 0, 22) +(0, 0, 2, 0, 14) = (0, 0, 0, 0, 5). Из (5.16) следует, что Sa = 9. § 5.3. МЕТОД ОЦЕНКИ ИНТЕРВАЛОВ ' Определение. Будем называть критическим слу- чай, когда имеет место соотношение |ап ——2 —со, (5.21) где со — число нулевых цифр в представлении числа А. Отсюда критический случай для числа А имеет место при следующих значениях числа А: Случай 1 А = а, А = — + а, Рп 230
А = Ч— + а, Рп А = (п — 2 — со) — + а. Рп Случай 2 А = (рп-\)^ + а, Рп Л = (рп-2)-^- + а, Рп А = (рп — п + 2 4- (о) -^-+а. Рп Здесь а — целое неотрицательное число, удовлетворяю- щее условию Определение. Наличие ситуации, когда число А отно- сится к первому случаю, будем в дальнейшем называть критичностью первого типа, ситуацию, при которой число А относится ко второму случаю, будем называть критичностью второго типа. Само число А будем называть критическим чис- лом первого или второго типа или просто критическим числом. Иначе говоря, критический случай имеет место для чисел, лежащих в (п — 2 — со) интервалах с обеих сторон интервала [ О,—V где находится минимальная форма числа. L Pnf При со = п — 2 получаем k = п — 2 — со = 0. Иначе говоря, если у числа имеются п — 2 нулевые цифры, то критический случай вырождается в равенство ап = S1, определяющее минимальное псевдоортогональное число. Естественно поэтому исследовать методы, направлен- ные на уменьшение величины k = п — 2 — <о, характе- ризующей зону неопределенности. Ввиду постоянства п, определяющего число оснований системы, уменьшение k может достигаться только за счет увеличения со, т. е. такого преобразования числа Л, при котором увеличивается число его нулевых цифр. На этом и базируется описанный выше метод нулевизации. 231
Рассмотрим несколько иной путь раскрытия неопре- деленности. Теорема 5.7. Если в нормированной .системе оснований Pi, Рг, • •, Рп задано критическое число А = (cq, а2, ..., ап) и если для основания р, (i=l,2, (и—1)), удовле- творяется условие Pt(n— 1) + п — 3^рп, (5.22) то для числа А, определяемого как A = Apt, либо не имеет места критический случай, либо имеет место критичность того же типа, что и для числа А. Доказательство. Наибольшим критическим числом пер- вого типа является число XLx = (n-1)^—1; Рп отсюда наименьшим некритическим числом будет Рп Наименьшим критическим числом второго типа является Amin = (Pn — П-Ь2)-^-+ 1, Рп откуда наибольшим некритическим числом будет Атах = (Рп # 2) — . Рп Если в результате умножения исходного числа А на основание pt произведение А = Арг перестанет быть кри- тичным, то можно установить тип критичности только в том случае, если область чисел первого типа критичности, умноженных на piy не пересекается с областью критичности второго типа, а область чисел второго типа критичности, умноженных на не пересекается с областью критичности первого типа, иначе говоря, если имеет место следующее соотношение: Рп Рп в котором граница второй критической области опреде- ляется величиной п — 3, а не п — 2 в силу того, что про- изведение любого числа на основание pt имеет в своем пред- ставлении по крайней мере одну нулевую цифру. 232
Приведенное выше соотношение можно записать в виде (5.22). Естественно, что при выполнении условия (5.22) число А, будучи умноженным на pit не может изменить тип своей критичности на противоположный. Если после умножения критического числа А на pt произведение Л = Apt является некритичным, то тип критичности числа А и его характер могут быть определены на основании следующей теоремы. Теорема 5.8 (О типе критичности.) Если в нормиро- ванной системе оснований, где pn>pt («—1) задано число А = (аь а2, ..., ап) со следом SA и если число Api со следом SAPi и характером Д^р. не является критическим, то в случае, если величина 9 = Длр.+ Pi — Рг — Рз (5.23) равна нулю или кратна pt, число А является критическим числом первого типа и характер его равен Да = V- <5-24) г1 В противном случае число А является критическим числом второго типа. Величины рь р2, Рз определяются выражениями p.-i p.-i p.-i Р1= 2 Р2= 2 T|ib Рз = 2 УН- (5.25) г—1 г=1 г=1 Доказательство. Поскольку число Apt является крат- ным pit то оно может быть разделено на pt просто поразряд- ным делением. При этом будет получено частное С вида с = 4^-= (аь а2, ..., аг_ь X, аг+1, ..., а„), Рг которое совпадает с числом А по всем значащим цифрам, кроме цифры по основанию рг. Относительно цифры по основанию pt имеет место неопределенность типа у. Значе- ние цифры X может быть определено на основании описан- ных в гл. 3 методов раскрытия неопределенности при 233
делении на основание. При образовании частного С не мог иметь места ни один выход за диапазон, поскольку число Apt лежит в диапазоне [0, еР) и основание рг являет- ся его делителем. Поэтому число С обязано лежать в началь- ных интервалах диапазона [0, еР). Отсюда, если число А является критическим числом первого типа, то оно обязано совпадать с числом С, т. е. С = А, X = ai. Если же число А является критическим числом второго типа, т. е. лежит в последних интервалах числового диапа- зона, то числа А и С разные по величине С Л, а посколь- ку у них совпадают цифры по всем основаниям, кроме цифры по основанию pif то обязано иметь место соотно- шение X=^=at Далее, если число А является критическим числом пер- вого типа, то при умножении его на рг не может иметь места ни один выход за пределы числового диапазона. Для чисел же второго типа критичности при умножении на pi имеет место по крайней мере один выход за пределы диапазона. Поэтому, если число А является критическим числом первого типа, то при суммировании его с самим собой pi раз имеют место следующие равенства: О == 2Дд + тщ — Д2а — £ц + Ун, О — Ад + ^2А + Л21 — Аза— £21 + 721, (5.26) О = Ад + Дзд + Лз! — А4А — £31 у31, О = Ад + Д(Р/-1)д + т)р._ 1, 1 — Адр. — £pf-i, 1 + Yp.-i, i- Тогда, суммируя правые и левые части равенств (5.26) и учитывая (5.23) и (5.25), получим О = Р1Аа + р2 — Адр. — Pi + Рз или аа=А. А pt Таким образом, для критических чисел первого типа величина 0 может принимать только три значения 0} = 0, 62 = Pz, 0з= — рь 234
Покажем теперь, что для чисел второго типа критич- ности величина 0 не может иметь значений, равных 0ь 02 И 0з. Пусть число А = (аь а2, . . аЛ) со следом SA является числом второго типа критичности, т. е. (рп — п + 2) < Л < cP, Рп а число С = (cq, а2, ..., a'i, ..., ап) со следом Sc полу- чено поразрядным делением произведения Ар, на основа- ние pt, т. е. лежит в области [» <»-»£)• По условию теоремы, основания рп и р, удовлетво- ряют неравенству Рп>(П— 1) Pi, отсюда бр) бр) Pi Рп т. е. числа С и А лежат в первом и последнем интерва- лах соответственно. Pi Иначе говоря, бр) А + — = С, Pt откуда at + K^a'i (mod рг), K=l,2, ...,Pi-l. Примем для определенности a.i + K<Pi, т. е. будем считать и определим разницу AS в весах SA и Sc, для чего введем минимальное псевдоор- тогональное число М вида М = (0, О, ...,К, . ..,St). Очевидно, что либо Зс = (Sa + $£) (modpn), либо Sc = (SA + St - 1) (mod pn) 235
или, что то же самое, AS = S| либо AS = <S*—1. Тогда величина 0С для числа С будет отличаться от 0А на Д0, т. е. не менее чем на количество переходов, имеющих место при суммировании S£ самого с собой р; раз. Разность Д0 не может равняться нулю и не может быть кратной рг, поскольку при суммировании величины Sk<Zpn Pt раз число переходов не может быть равным 0 или кратным рг. Таким образом, для чисел второго типа критичности величина 0 не может принимать допустимые для нее значе- ния, равные нулю или кратные рг. Это и составляет утвер- ждение теоремы, заключающееся в том, что величина 0 определяет тип критичности исходного числа. Примечание. В условиях теоремы мы научились определять характер числа в случае, когда оно является критическим первого типа. Можно доказать симметричную теорему и для критических чисел второго типа. Однако представляется, что проще всего в этом случае перейти к числу eF — А, которое является критическим первого типа, определить его характер Д^—^, а затем определить характер числа А. Рассмотренная выше теорема о типе критичности позво- ляет определить характер критического числа, если извест- но, что после умножения на основание рг, удовлетворяющее условиям теоремы, произведение Apt теряет критичность. Однако возможен случай, когда после умножения на р; число Apt остается критичным. При этом очевидно, что любое критическое число может быть превращено в некри-’ тическое последовательными умножениями на основания, удовлетворяющие условиям непересечения критических областей. Иначе говоря, если задана система оснований, то может быть выбрана последовательность оснований, умножением на которые любое число может быть выведено из области критичности. Несомненно, что выбор оптималь- ной последовательности множителей связан с выбором самих оснований и будет варьироваться в каждом конкрет- ном случае. Отметим, что на выбранное основание р; накладывается лишь ограничение pi(n— 1) + (п — 3)<рп 236
или если множитель выбран кратным pit то kpt (п— 1) + (п — 3)<рп, откуда г п — \ В целях сокращения длительности процесса определе- ния характера числа желательно величину множителя выбирать как можно ближе к числу если Рп + 2 не кратно п~ 1, или как можно ближе к числу если рп + 2 кратно п— 1. В качестве первого множителя, который в дальнейшем будем обозначать через vb может быть выбрано одно из оснований либо величина, кратная какому-либо основанию, либо произведение нескольких оснований. Выбор того или другого значения множителя Vj опре- деляется требованием наибольшей близости снизу к вели- чине /«! или т2. Предположим, что нам удалось выполнить это условие, и мы имеем но при этом произведение остается в критическом диапазоне. Найдем номер интервала в котором лежит наименьшее число Nmin, такое, что произведение AfmU'Vi уже выходит из критического диапазона 0, (п — т. е. Ср бр г1 Рп Рп откуда или значение может быть определено как 237
Найдем теперь вала Го z & 1 L 1 Рп ) или, предполагая, это наименьшее число N^in из интер- №йп*1>(и-2)-£- Рп что п — 2>vt, получим Очевидно, следующий множитель v2, который выбира- ется по аналогичным соображениям, должен удовлетво- рять требованию, чтобы число Мт™, будучи умноженным на v2, не попадало бы во вторую критическую область, т. е. ^тгп^2 (Рп — Л + 3) —- , Рп откуда Рп-п + 3 & 2^р-2 -1 рп • L Vi рп J г Продолжая этот процесс, мы с каждым шагом умень- шаем участок предполагаемого нахождения исходного числа. С каждым шагом у нас растет величина очередного мно- жителя, поскольку правая граница некритической зоны увеличивается, а участок предполагаемого нахождения исходного числа уменьшается. Рассмотрим применение описанного метода в более кон- кретном случае. Пусть число оснований п = 9, а наиболь- шее основание лежит в пределах 31<рп < 63. Будем считать рп = 47. 1-й шаг. Первый множитель Vi определяется, как известно, из условия Vi(n — 1) + (п — 3)<рп или Vi-----§----b. Наименьшее число, жении на vb лежит ляемым из условия теряющее критичность при умно- в интервале с номером z^ опреде- п—2 V1 238
или 2i = 2, а величина наименьшего числа определяется как та"=[1£]+1- 2-й шаг. Определим второй множитель v2, исходя из того, что исходное число может находиться не правее первой четверти второго интервала, т. е. (C3D бр \ бр + ^2<(Рп-П + 3)-^-, Рп ^Рп г Рп откуда v2<—«32. Наименьшее из чисел, теряющих критичность при умно- жении N&v2>(n-2)-^ Рп ИЛИ W(2)- > — & W mm on г, » OZ рп лежит в первой четверти первого интервала. А в случае критичности второго типа оно располагается в последней четверти последнего интервала. Если исходное число оста- лось критичным, выполним третий шаг. 3-й шаг. Определим третий множитель из условия 7 Ф бр 32" ~п~ v3 < (Рп — Л + 3) —- , Рп Рп откуда v3< 187. Число, не потерявшее критичность при третьем умноже- нии, находится в области, правая граница которой опре- деляется как . N&V3>(n-2)-^- Рп ИЛИ т. е. находится в области, меньшей чем 2 . Рп 239
4-й шаг. Если исходное число осталось критичным то четвертый множитель определится из условия 7 бр) 1о/ Рп Рп ИЛИ v4< 1095, откуда т. е. число, остающееся критичным после 4-го шага, нахо- дится в области, меньшей . ^Рп 5-й шаг. Найдем пятый множитель Нетрудно убедиться в том, что область нахождения исход- ного числа после т шагов уменьшается не менее, чем в v™ раз, где Предполагая достаточным свести размеры области неопределенности до рп, получим, что число шагов пг определится из условия («-2)£ф<Рп или бр) г п откуда При n = 9, pn = 47, cF= 10'‘ In 7-|-Л In 10—2 ln’47J т>------------ПГ5--------- или т> 1,4& — 3,6, т. е. для диапазона & = 108 -ч- 1010 получаем яг = 8 ч- 10 умножений. 240
Проиллюстрируем описанный процесс на конкретном примере. Пусть задана нормированная система оснований: Р1 = 3,р2 = 7, р3= 11, р4=13, р5 = 17, р6= 19, р7 = 23, р8 = 25, р9 = 47 вр с диапазоном, 3й = 26 213 412 225 и с величиной интервала — = Рп = 557 732 175. Пример. Найти набор множителей для определения характера малого числа методом оценки интервалов. Первый множитель определяется из условия т. е. в качестве первого множителя должно быть выбрано ближай- шее основание Pi = 3, т. е. Vj = 3. Тогда номер интервала, в кото- ром лежит наименьшее число, выходящее при умножении за пределы Г Ф \ критического участка 0, (п — 2)— ) , определится из условия п — 2 ------= о, V1 или наимень- т. е. число лежит не правее интервала ^0, 3 — шее «некритическое» число есть l^1) =3 — . v тгп рп Отсюда второй множитель определяется как Рп — п-\г^ 41 v2<------з----=-3=13,6, и в качестве второго множителя может быть выбрано основание р4—13, т. е. v2=13, а наименьшее «некритическое» число будет л/(2) »~2 . 7 & min V2 рп 13 рп ' Определяем третий множитель рп—м-|-3 & 533 V3< w<2) 7Г=~=ж тгп В качестве третьего множителя может быть выбрано произведение оснований Pi = 3, р8 = 25, т. е. v3 = 75, при этом наименьшее некри- тическое число „(.')) П~3 _ 6 min^ V3 Рп 75 Рп' Для четвертого множителя получаем 42 v4<—------------------------------------------= 525. ЛГ<3 Рп тгп 16-1365 241
В качестве четвертого множителя может быть выбрано произведение оснований Р1 = 3, Р2 -^7, р8 = 25, т. е. v4 —525. Поскольку в этом случае произведение получаем по крайней мере с тремя нулевыми цифрами, то наименьшее число определится из условия *7(4) _ 5 _ 1 min> V4 Pn “525 pn “105 Pn • Предполагаем, что пятый множитель будет составлен из произ- ведения не менее чем трех оснований, тогда он определится так В качестве пятого множителя может быть взято произведение оснований: р3 = 11, р5= 17, р7 = 23, т. е. V5 = 4301 и тогда наимень- шее число, теряющее критичность при умножении, определится из условия M(5) > 4 _ 5 min^ v6 рп 4301 рп' Отсюда для шестого множителя ve < — = 36988,6, который может быть получен как произведение оснований Pi = 3, Рз=11, р7 = 23, р9 = 47, т. е. v6 = 35673 и, следовательно, Л/(6) -> га~5 У’ 4 & Ve Рп 35673' Рп Седьмой множитель предполагает наличие не менее четырех сомно- жителей v7 < — = 392403, Р- а именно Pt = 3, р3 = 11, р4=13, р5 = 17, рд = 47, т. е. vq — 350493, откуда Дг(7) п — 6 _ I 3 V7 Рп 350493 Рп • Далее, восьмой множитель V = 4906902 Win Рп может быть представлен как произведение оснований р| = 9, р8=19, р7 — 23, р8—25, р9 = 47, откуда v8 = 4 621 275. Тогда JV<8) > ” —7_^L==_____?__ ^тгп Vs Рп 4621275 рп или ^241. 242
Девятый множитель v9 < Pn~;£—• — = 106289325 может быть представлен как произведение оснований: Рх = 9, рб=19, р2 —529, р8 = 25, рэ = 47, откуда vg= 106289325. Тогда v(9) 1 & 14 min Vg рп Ю6289325 рп "ли Л'ти^6- В случае, когда после девяти умножений число все-таки не поте- ряло критичность, оно, как выяснилось, не может быть больше 6. Сужение диапазона может быть продолжено умножениями, но пред- ставляется более целесообразным сравнить его с одним из началь- ных 6 чисел первого интервала. В случае совпадения утверждается, что это число из первого диапазона с известным значением харак- тера, в случае несовпадения — исходное число является критическим второго типа. § 5.4. МЕТОД РАСШИРЕНИЯ ДИАПАЗОНА Рассмотренные выше методы определения минималь- ного следа числа, номера интервала, в котором располо- жено число, или характера числа отличаются методической простотой, и их реализация возможна как в последова- тельном, так и в параллельном исполнении. В некоторых из них требуется использование кон- стант, что, естественно, предполагает наличие в арифмети- ческом устройстве накопителя констант небольшой емко- сти, но работающего в темпе арифметического устройства. Реализация этих способов в параллельном исполнении, естественно, сопровождается заметным увеличением обору- дования, а в последовательном исполнении — большим вре- менем выполнения процесса. Перейдем теперь к рассмотрению некоторых других методов определения позиционных характеристик числа, в частности метода расширения диапазона. Пусть задана система оснований р2, •••, Рп с диапа- зоном Р, ортогональными базисами В2, • ••, Вп, веса которых соответственно т2, ..., тп. По определению Pt i= 1, 2, .. .,п. В этой системе задано число Л = (аь а2, .. .,ап). Рассмот- рим теперь расширенную систему, в которую включено 16* 243
дополнительно основание рп+1: рь р2, • • •, Рп, pn+i, диапа- зон которой Р — Рп-нФ, ортогональные базисы Bif В2, ... ..., Вп, Вп+!> а их веса т2, ..., тп, тп+1, причем Д __ ™ Pn+l^P Di = Mi —-, Pl i = 1, 2, ..n+ 1. Число А в этой системе представится в виде А = = (аь а2, • • •> «п, «п+1)- Требуется по известным циф- рам «1, а2, • • •, исходной системы оснований опреде- лить значение цифры ап+1 числа А в расширенной системе оснований. Естественно, что число А в расширенной системе оснований будет правильным числом, т. е. задача сводится к определению минимального следа числа в расширенной системе оснований. Напишем выражения для числа А в основной и расши- ренной системах А = 4“ «2^2 4“ • • • 4“ &пВп ’— А = 4” ОС2В2 4~ . . . 4- ^пВп + Un+iBn+l — ГApn+i&. Приравнивая правые части этих выражений и опреде- ляя из полученного уравнения искомую цифру ап+1 по вве- денному основанию Pn+i, получим 1 f~ ^iPn+i , „ т2~m2Pn+i , «п+1 = ~-- S «1-----------г «2 ---—------Г • • • mn+l I Pi Р2 | т71““^пРп+1 /г Z • • • + «п ---------у А — РаРп+1) Г Рп J ИЛИ п ^п+1«п+1 = 2 аг mt~^pn+l -(гА-гАрп+1). (5.27) Pi 2=1 Для упрощения выражения (5.27) докажем следующую лемму: Лемма 5.1. Если задана основная система оснований Рп Рг, • • •, Рп, с диапазоном cF и весами ортогональных базисов тх, т2, .. .,тп и задана расширенная система оснований рп р2, ..., Рп, Pn+i, с диапазоном Р = рпн& и весами ортогональных базисов /п„ /п2, • • •, mn, ^n+i, то величина mi—miPn+i кратна рг. 244
Доказательство. В соответствии с определением орто- гонального базиса имеем Bi = mi-^- = kipi + 1, Pi i = l,2, ..., п, или mi& = ktpl + pit (5.28) а также Bi = ™._Pn±^- = £iPi + l, i = 1, 2, ..., n + 1, или inipn+i& = kipl + pt, (5.29) где kt, kt — целые неотрицательные числа. Вычитая’(5.29) из (5.28), получим * (mi — mipn+l)^ = (ki — ki)pl (5.30) Так как еР содержит pt в первой степени, а в правой части (5.30) содержится множитель pl, то mi — mtpn+i должно содержать множителем pt, что и доказывает утверждение леммы. Обозначим через Хг целое число: Хг= /П^п+1~ОТ<-. (5.31) Pi Тогда (5.27) можно переписать в виде п ЯЬь+1&п+1 == — 2j а Ai — Ра + РАрп+1 г=1 ИЛИ PPln+i^n+1 + Ра ~ — ЗаАг+^АРп+Р (5.32) i=i Определение. Величину <у а = 3 o&Ai (5.33) г=1 назовем обобщенной суммой цифр числа А или просто обобщенной суммой. 245
Представим величину аА в виде (Уд = kpn+l — q, где k и q — целые неотрицательные числа, причем Я < Pn+i* Тогда (5.32) представится в виде ^n+i^n+i + г а = (га — &) Pn+i + q (5.34) или tnn+ian+i + rA = q (mod pn+i). (5.35) Последнее выражение является формулой расширения диапазона чисел, формулой перехода от представления числа, в основном диапазоне к представлению числа в рас- ширенном диапазоне. Рассмотрим теперь, как, пользуясь формулой расшире- ния (5.35), можно перейти к представлению числа в рас- ширенном диапазоне. Как известно, для заданной системы оснований, в част- ности для основной системы, существует один и только один набор минимальных псевдоортогональных чисел. По основанию рр Л4а11, Л4а21, .. t с ран- гами соответственно ги, г21, ..., rP1-i, i. По основанию р2- Мх22, •••»yWap2-l,2 с Рангами соответственно r12, r22, . ..,rPa-i,2 По основанию рп^ п_р Ма2, П_Р ...» Марп_^Цп_1 с рангами соответственно г1} п_1? г2, п-ь • • • , rPn-i-i, п-р Конструируя исходное число А = (аь а2, ..., ап) из минимальных псевдоортогональных чисел, получим число ТИА = (аь а2, ..., SA), (5.36) ранг которого по теореме о ранге суммы определяется как п— 1 Гм = % Га —тпЯмл. (5.37) А ;=1 и Таким образом, в основной системе сконструировано число Л4а, ранг которого точно известен, совпадающее с исходным числом А по всем цифрам, кроме цифры по последнему основанию. 246
Кроме того, о числе МА нам известно, что поскольку оно получено суммированием п — 1 минимальных нсев- доортогональных чисел, то наибольшая возможная его величина п—1 (мА)тах=(п -1 - 2 4-) <5-38) Рп х Pi / г=1 не может находиться правее (п—1)-го интервала в основной системе оснований. Для расширенной системы оснований также существует единственная система минимальных псевдоортогональных чисел. В частности, по основанию рп минимальные псевдо- ортогональные числа имеют вид Мапп (0, 0, . . ., 0, (Zn, S^l), т. е. являются числами вида (5.39) п— 1 (Рп-1)П Pi = (Pn-l)-^. х х Рп г=1 Будем в дальнейшем каждое из этих чисел сопровождать индексом kann, указывающим на его кратность относи- тельно наименьшего числа. Расширив число МА из (5.36) по формуле расширения (5.35), пользуясь величиной ранга (5.37), получим А' = (аь а2, ...,an_i, SA, а;+1). (5.40) В расширенной системе оснований число А' отличается от искомого числа А цифрами по двум последним основа- ниям. Кроме того, поскольку расширение, не меняя величину числа, только доопределяет его цифру по основанию рпА1, то на основании (5.38) известно, что число А не может быть 247
больше, чем (л — 1) — , т. е. расположено в первом интер- вале расширенной системы [О, Р) и является правильным числом. Прибавим теперь к числу Д' определенному (5.40), такое из минимальных псевдоортогональных чисел (5.39), которое превратит цифру по основанию рп в ап, т. е. мини- мальное число — (0, 0, ..., 0, |3Л, *$|п) кратности ЛРпп, где = (an — Sa) (modpn). В результате суммирования получим число Д(2) вида = а2, .. .,an_4, an, a^-i). (5.41) При этом если имело место SA~an, то преобразова- ния числа Д' не требовалось и тогда Д' = Д, т. е. (5.40) является искомым расширением числа Д. Действительно, все цифры чисел Д и Д' по основаниям Pi, p2i • • ч Рп совпадают, а по величине число А лежит в первом интервале расширенного диапазона, т. е. явля- ется искомым правильным числом. Если не имела места ситуация SA — an, то получаем число Д(2). Причем, если кратность числа М$пП была не больше чем рп~ (л~1), т. е. ^лп<Рп-(п-1), то также можно утверждать, что полученное число Д<2> является искомым расширением числа Д, поскольку к числу Д', не превышающему (п— 1)-^-, прибавили число не превышающее (рп — (п— 1))— , т. е. сумма этих чисел Рп не превышает cP —величины первого интервала. Неопределенная ситуация возникает, когда ^Рпп>рп-(П- 1). В этом случае число Д(2) может располагаться либо в последних (п~ 1)— частях первого интервала [0, cP), Рп 248
либо в младших (п — 2) частях второго интервала 2^), а тогда искомым является число Д<3) = (ап а2, ..., ап_ь ап, (o$+i — 1) (mod pn+1)). Проиллюстрируем рассмотренный метод на примерах. Пусть основная система задана основаниями: Р1 = 5; Р2 = 7; р3=11; р4=13; р5=17; р6=19; р7 = 23. Вычислим для нее значения ортогональных базисов и их весов: Bj = 29 745 716 ^ = 4 В2 = 21 246 940 /п2 = 4 В3 = ЗО 421 755 т3 = 9 В4 = 8 580 495 лтг4 = 3 ^5 = 34 994 960 т5 = 16 Вб = 15 655 640 /лб= 8 В7 = 8 083 075 /и7= 5 Диапазон системы ^ = 37 182 145. Вычислим значения минимальных псевдоортогональных чисел с их рангами и кратностями. По основанию р4 = 5: Л4П = (1, 0, 0, 0, 0, 0, 1) Гц = 1 £ц ~~2 М21 = (2, 0, 0, 0, 0, 0, 2) /*21 = 1 &21 =4 М31 = (3, 0, 0, 0, 0, 0, 12) г31 = 5 *31 = 1 Af4i = (4, 0, 0, 0, 0, 0, 13) Qi = 9 ^41 = 8 По основанию р2 = 7: М12=(0, 1, 0, 0, 0, 0, 2) /*12=1 £12 = 1 Л422=(0, 2, 0, 0, 0, 0, 4) /*22 = 2 £22 = 2 Л432= (0, 3, 0, 0, 0, 0, 6) /*32 = 8 £32 = 8 М42=(0, 4, 0, 0, 0, 0, 8) /*42 = 4 £42=4 М52=(0, 5, 0, 0, 0, 0, 10) /*52 = 5 £52 = 5 Л462=(0, 6, 0, 0, 0, 0, 12) /*62 = 9 £62 = 6 По основанию р3=11: Л413= (0, 0, 1, 0, 0, 0, 1) /*13 = 1 £13= 9 Л423=(0, 0, 2, 0, 0, 0, 11) /*23= 4 £23= 7 Л433=(0, 0, 3, 0, 0, 0, 21) /*33= 7 £33= 8 М43 = (0, 0, 4, 0, 0, 0, 8) /*43= 5 £43= 8 М53=(0, 0, 5, 0, 0, 0, 18) г53= 8 £53= 1 Л463=(0, 0, 6, 0, 0, 0, 19) /*63= 9 £бз= 19 Л473 = (0, 0, 7, 0, 0, 0, 6) /*73 = 7 £73= 8 Л483 = (0, 0, 8, 0, 0, 0, 16) г83= 10 £вз= 8 Л493= (0, 0, 9, 0, 0, 0, 3) /*93 = 8 £93= 4 Л410,з = (0, 0, 10, 0, 0, 0, 13) И £юз= 2 249
По основанию р4 = 13: М14=(0, 0, 0, 1, о, 0, 22) ''14 = 5 *14= 4 М24 = (0, 0, 0, 2, 0, 0, 21) ''24 = 5 *24 = 3 Л)34 = (0, 0, 0, 3, 0, 0, 20) г34 = 5 *34 = 12 М44= (0, 0, 0, 4, 0, 0, 5) '44 = 2 *44 = 3 М54=(0, 0, 0, 5, 0, 0, 4) '54 = 2 *54 = 7 Л/64 = (0, 0, 0, 6, 0, 0, 3) '64 = 2 *64=11 Л174 = (0, 0, 0, 7, 0, 0, 11) '74 = 4 *74 = 2 М84=(0, 0, 0, 8, 0, 0, 10) '84 = 4 *84 = 6 М94 = (0, 0, 0, 9, 0, 0, 9) '94 = 4 *94 = 16 Л410,4 = (0, 0, 0, 10, 0, 0, 17) '10,4 = 6 *104 = 1 Л41114 = (0, 0, 0, 11, 0, 0, 16) '11,4 = 6 *114 = 6 М12,4 = (0, 0, 0, 12, 0, 0, 15) '12,4 = 6 *124 = 9 По основанию ps=17: М15 = (0, 0, 0, 0, 1, 0, 5) '15 = 2 *15=11 М25 = (0, 0, 0, 0, 2, 0, 19) '25 = 6 *25= 6 М35 = (0, 0, 0, 0, 3, 0, 1) '35 = 3 *35=16 ^« = (0, 0, 0, 0, 4, 0, 15) '45 = 7 *45=10 Л455 = (0, 0, 0, 0, 5, 0, 6) '55 = 6 *55= 4 Л4в5 = (0, 0, 0, 0, 6, 0, 11) 'б5 = 3 *65= Л475 = (0, 0, 0, 0, 7, 0, 2) '75 = 7 *75= 9 Algs = (0, 0, 0, 0, 8, 0, 16) '85 = И *85= 3 Л495 = (0, 0, 0, 0, 9, 0, 21) '95 = 13 *95= 14 М10,5 = (0, 0, 0, 0, 10, 0, 12) '*10,5= 12 *105= 3 Mlb5 = (0, 0, 0, 0, 11, 0, 3) '*11,5=11 *115= 2 Л412,5 = (0, 0, 0, 0, 12, 0, 8) '12,5 = 13 *125= 13 М13)5 = (0, 0, 0, 0, 13, 0, 22) '*13,5= I7 *135= 7 Af14,5 = (0, 0, 0, 0, 14,0, 13) '*14,5=16 *145= 1 Л115,5 = (0, 0, 0, 0, 15,0, 18) '15,5=13 *155= 12 Л*16,5 = (0, 0, 0, 0, 16, 0, 9) '16,5 = I7 *165= 6 По основанию рв = 19: М1в = (0, 0, 0, 0, 0, 1, 12) '16 = з *16 = 13 ^ = (0, 0, 0, 0, 0, 2, 10) '26 = 3 *26= 7 Мзв = (0, 0, 0, 0, 0, 3, 8) ''36= 3 *36= 1 М46 = (0, 0, 0, 0, 0, 4, 20) '46 = 6 *46=14 М56 = (0, 0, 0, 0, 0, 5, 18) '56 = 6 *56 = 3 250
Мв6 = (0, О, О, О, О, 6, 16) М76 = (О, О, О, О, О, 7, 5) М8б = (О, О, О, О, О, 8, 3) Ми = (0, О, О, О, О, 9, 1) м1О,6=(о, о, о, о, О, Ю, 13) Mlb6 = (О, О, О, О, 0, 11, Н) М12,6 = (О, О, О, О, 0, 12, 9) М13,б = (0» О, О, О, 0, 13, 21) М14,6 = (О, О, О, О, 0, 14, 19) М15>6 = (О, О, О, О, 0, 15, 17) Л416,6 = (О, О, О, О, 0, 16, 6) М17,6=(0, О, О, О, 0, 17, 4) М18>6 = (О, О, О, О, 0, 18, 2) гбб = 6 r76= 4 ^86 ~ 4 4 г ю,б = 7 ги,б = 7 г12,6— 7 г13,в = Ю г 14,6 — Ю г15,6 = Ю Г16,6= з г17,6= 3 г18,6= 3 ^бб~ 2 k1Q = 15 ^86— О ^96 — 3 ^106 —16 ^116 — ю ^126 = 4 ^136 = 17 ^146 = 11 ^156= 3 ^166 —13 ^176 =12 ^186 — 6 Расширенную систему оснований выберем в виде Р1 = 5, р2 = 7, р3= 11, р4= 13, р5= 17, р6= 19, р7 = 23, р8==31, с диапазоном Р = р8^° = 1152646495 (ее параметры приведены на стр. 268). Величины Ki принимают следующие значения: %i = 24, Х2 = 26, А»з = 2, Х4 = 26; %5= 10, Х8— 11, Х7~20. Пример. Найти расширенное представление числа А = (3, 3, 3, 3, 3, 3, 3). Вычислим след числа А в основной системе SA = (12+6 + 21 + 20+ 1 + 8) (mod23) = 22. При этом имели место два перехода по основанию р7 = 23, откуда Ла = 2. Сконструируем число Л1Л = (3, 3, 3, 3, 3, 3, 22), ранг которого по (5.37) равен гм =5 + 3 + 7+5+3 + 3-2x5=16. А Представим число Мл в расширенном диапазоне, для чего вы- числим значение обобщенной суммы цифр <Та = 72 + 78 + 6 + 78 + 30 + 33 + 440 = 24х31 —7. Откуда an-Н + 16 = 7 (mod 31) или ап-Н =22. Таким образом, получено расширенное представление числа А' = (3, 3, 3, 3, 3, 3, 22, 22). Для того чтобы перейти к числу, имеющему по основанию р7 циф- ру, равную 3, необходимо прибавить следующее минимальное псевдоортогональное число расширенного диапазона Л?47 = (0, О, О, О, О, 0, 4, 13), 251
имеющее кратность 7г47 = 20. При этом будет получено число А(2) — = (3, 3, 3, 3, 3, 3, 3, 4). Здесь мы столкнулись с неопределенной ситуацией, поскольку &47 >Р7—(я— 1)» т. е. либо число Ai = (3, 3, 3, 3, 3, 3, 3, 4) лежит в первом интер- вале и является искомым правильным числом, либо оно лежит во втором интервале, а искомым правильным числом является А2 — (3, 3, 3, 3, 3, 3, 3, 3). В этом случае, рассматривается альтер- нативная совокупность оснований, включающая основания, соот- ветствующие всем возможным ошибкам. Пусть теперь следующей арифметической операцией является умножение на правильное число В = (3, 1, 1, 0, И, 15, 8, 1): (3, 3, 3, 3, 3, 3, 3, 3)-(3, 1, 1, 0, 11, 15, 8, 1) = (4, 3, 3, 0, 16, 7, 1, 3). Рассматриваем полученное произведение (Л = (4, 3, 3, 0, 16, 7, 1) в основной системе. Находим его след 5а = (13 + 6 + 21+9 + 5) (mod 23) = 8, при этом лА = 2. Конструируем число МА = (4, 3, 3, 0, 16, 7, 8) и вычисляем его ранг гм =6 + 3 + 7+17+4-2x10 = 27. А Вычисляем обобщенную сумму цифр (УА = 96 + 78 + 6+ 160 + 77+ 160 = 19X31 —12 и переводим число МА в расширенную систему ап+1 +27 = 12 или ап+1 = 16, т. е. получаем число А' —(4, 3, 3, 0, 16, 7, 8, 16). Для того чтобы по основанию р7 получить цифру ап = 1, необхо- димо к числу А' прибавить минимальное псевдоортогональное число расширенной системы М16,7=(О, 0, 0, 0, 0, 0, 16, 18) кратности &16>7 = 11. В результате получим число А^2^ = (4, 3, 3, 0, 16, 7, 1, 3). Поскольку условие &1б,7< Р1~(л—О выполнено, то можно утверждать, что число правильное, а стало быть, является правильным и исходное число А — (3, 3, 3, 3, 3, 3, 3, 3). § 5.5. МЕТОД ОТОБРАЖЕНИЯ НА КОНЕЦ ДИАПАЗОНА В этом методе для числа А = (аь а2, • • •, X) тре- буется найти такое значение Л = ап+1, при котором А будет правильным числом, 252
Умножим число А на некоторый множитель q так, чтобы в результате получить некритическое число. Но поскольку значение X исходного числа неизвестно, то необходимо рассматривать процесс умножения на величину, кратную pn+i, с тем чтобы получить в произведении цифру по осно- ванию Pn+i, тождественно равную нулю. Отсюда, если обозначим 9 = vpnw где v — целое неотрицательное число, то множитель v целесообразно выбирать как произведение ряда оснований с целью уменьшения величины зоны неопределенности. Но тогда множитель q может оказаться довольно боль- шой величиной и в процессе умножения будут иметь место переходы через числовой диапазон Р. Количество переходов при умножении может быть оце- нено на основании следующей теоремы. Теорема 5.9. Если в нормированной системе оснований Р1, р2» • • ч Рп, рп+1 задано число А = (аь а2, .. ., ап, ап+1) со следом SA и характером ДА и если при умножении этого числа на множитель q = vpn+i, где V —целое неотрицательное число, получаем произве- дение со следом 5пр и характером Дпр, то количество переходов через числовой диапазон Р определится соот- ношением g я £l = q\A— Дпр + v(Xn+i + 3 Yi—i, i— (5.42) i=2 i=2 Доказательство. Представим умножение числа Л на мно- житель q как q сложений самого с собой числа А. Для каждого сложения выпишем критерий переполнения ^i, 1 = Да + Да + 41,1 + Yi, 1 — ^2А — Si, 1, Q2,1 — Да + ДгА + 42,1 + Y2, i — Дза — £2, ь ^д-1, 1 — Да + Д(д-1)А + 4g-i, 1 + Yg-i, 1 — ДдА — р Сложив левые и правые части этих выражений, получим я я я я ^J^i-itl~ Ч^А— 3 4bl, 1+ 2 Yz-l, 1— 3 &-!,!• 1=2 i=2 1—2 i=2 253
Учитывая, что АаЛ'--Лпр и 3 Пы, i = van+1, г=2 получим, что число переходов Q через диапазон опреде- ляется в соответствии с утверждением (5.42) теоремы. Выражение (5.42) может быть упрощено на основании следующей теоремы, вытекающей непосредственно из опре- деления понятия следа числа. Теорема 5.10. Если в системе с основаниями pi, р2, ... ..., рп, Pn+i заданы два числа AL и А2 со следами Si и S2 соответственно и их сумма Л3 со следом S3, то имеет место следующее соотношение: + бг, 1 — Y2, iPn+i = Si -р S2 — £2, iPn+i- (5.43) Следствие 1. При суммировании числа А, след кото- рого SA, самого с собой q раз имеет место следующее равенство: g q q 2 Ym, 1 — 2 “ pn+l (*$пр “Ь 2 *) — (5.44) 1=2 i=2 i=2 Действительно, обозначим след числа (Z —1)Л через 5^!, в соответствии с (5.43) получим Si + 6i-l, 1 — Yz-1, lPn+1 — Sf-i + — Pn+lSi-i, !• Суммируя это выражение no i при i = 2, 3, ..., q, получим q q q Pn+i 2 y*-i, 1—Pn+i 2 £ui, 1=*$np + 2 ^*-1, i— i=2 i=2 i=2 Откуда и следует (5.44). Следствие 2. В выражении (5.44) левая часть целочис- ленна, стало быть, выражение q 5пр + 2 1 г—2 кратно pn+i- На основании (5.44) количество переходов через диапа- зон при умножении числа А на q определится как q Q = q\A — Лпр vocn+1 — vSA + *—— (*$пр 4" 2 • (5-45) Рп+1 \ " / i=2 254
Для преобразования полученного выражения в более удобное для реализации рассмотрим некоторые свойства минимальных псевдоортогональных чисел. Минимальное псевдоортогональное число с цифрой а; по основанию pj имеет вид Ma.j = (0, 0, ..., 0, aj, 0, ..., S* .). (5.46) Поскольку в числе все цифры нулевые, кроме цифр по основаниям pj и рп+1, оно должно быть кратно величине Р PjPn+i Pj Рассмотрим числовую последовательность бр) ср) бр) бр) Q,, 2 —, 3——,.. .,(р}—\) —. (5.47) Pi Pi Pi Pi Можно утверждать, что рассматриваемая числовая последовательность представляет собой полный набор минимальных псевдоортогональных чисел по основанию pj, иначе говоря, в ней представлены все значения а; = 0, 1,2, ..pj — 1. Действительно, если по основанию pj число имеет остаток a' = -^-(modp7), то остальные члены последовательности по основанию pj имеют значения 2а' (mod Pj), За' (mod р,), ..., (pj — 1) (mod p;), 0 (modpj). Причем любые два числа этой последовательности не сравнимы между собой по модулю pj. Докажем это поло- жение от противного. Предположим, что какие-то два числа этой последова- тельности кратности тип сравнимы друг с другом по модулю pj, т. е. имеет место maf (mod р7) == па' (mod р7-), или (т — п) а' = 0 (mod pj), т. е. (т — п) a' = vpj, где vцелое неотрицательное число. 255
Но последнее равенство не может иметь места, посколь- ку по условию tn<Pj, n<pj, a'cpj и ни одно из этих чисел не имеет общих делителей с pj. Таким образом, никакие два числа из последовательности (5.47) несравнимы по модулю pj. Этих чисел всего pj и возможных значений сс7- также pj. Отсюда числовая последовательность (5.47) представляет собой полный набор минимальных псевдоортогональных чисел по основанию pj. Как легко видеть, доказанное положение справедливо и для последовательности, начинающейся с члена ka.j — . 3 Pj Теорема 5.11. Если в системе оснований р2, • •• ..., рп, Pn+i задано минимальное псевдоортогональное число Ма? = (0, 0, ..., О, ау, 0, ..., О, S*.) кратности ka.j, то количество неправильных пар, которые образует цифра с цифрами 0, 1,2, ..., Pj— 1, равно кратности минимального псевдоортогонального числа Ma.j 3 . = ka j. (5.48) 37-=о 33 3 Доказательство. Действительно, в полном наборе минимальных псевдоортогональных чисел по основанию pj имеются числа всех возможных кратностей величины — , а именно О, 1, 2, .... Pj-\. Возьмем произвольное число этого набора кратности k^.j = 0, О, ру, 0, .О, Sg.). Складывая исходное число Ma.j с числом полу- AfSj = (O, О, (aj + P7) (modpj), 0, S2) = = (ka J+ j) > 3 3 Pj где Ss = (S^ + S§;) (modpn+1). 256
Если ТО т. е. сумма таких чисел является неправильным числом, а стало быть, а7- и $j составляют неправильную пару. Если kajj + < Pj, то J 1 т. e. S1 = (S*. + S^.) (modpn+1) и цифры a7- и Pj составляют правильную пару. Иначе говоря, цифра а7- составляет с цифрой любого числа из набора минимальных псевдоортогональных чисел по модулю р; неправильную пару в том и только в том слу- чае, если сумма их кратностей не менее величины основа- ния р;. Но ka.j удовлетворяет этому условию только с теми числами из полного набора, кратности которых суть Pi — ka.j, pj — ka.j+l, ..., pj—2, pj-1, а таких чисел всего ka.j. Этим доказывается утверждение (5.48) теоремы. Теорема 5.12. Если в системе оснований Р1> Ръ> • • • 1 Pm Pn+i с диапазоном Р число А А = (аь 02, ..., ..., ап, ап+1), умножается на величину q, где ? = vpn+1= , Pj то число неправильных пар, образуемых по основанию Pu^Pj» определится как в»=Ч^’ <5-49> где через обозначена кратность минимального псевдо- ортогонального числа с цифрой схр, по основанию ри. Доказательство. Рассматривая умножение числа А на величину q как суммирование числа А самого с собой q раз, на основании теоремы (5.11) можно утверждать, что ka ц, 17—1365 257
есть также количество неправильных пар, которые обра- зует цифра а, с набором цифр О, 1, 2, 3, 4, pg —2, pg—1. Но таких наборов при умножении числа А на q будет всего УРп+1 Р Рц PiaPj ’ откуда и следует утверждение теоремы. Примечание. В количество неправильных пар не должна входить пара, образуемая цифрой исходного числа А с соответствующей цифрой произведения, поскольку такая пара в суммировании не участвует. Однако при ри =/= pj соответствующая цифра произведе- ния равна тождественно нулю, а с нулем любая цифра обра- зует только правильную пару. Следствие 1. Сумма неправильных цифр 6g^,-, образо- ванная по всем основаниям pg, где р = 1, 2, . . ., п (р =/= /), определяется как = (5.50) . "и Pj t Ри |1=1 ц = 1 з у^з Следствие 2. Выражение (5.45) для количества пере- ходов через диапазон при умножении числа А на vpn+i== Р = — может быть представлено в виде Q = УРп+1Да — Апр + Mn+i — vSa + Л k 1 + v3 -^ + -Ц(5Пр + 6Д (5.51) ", P[L Pn+i Ц=1 &¥= з где через обозначено число неправильных пар, образуе- мых по основанию pj. Следствие 3. Число неправильных пар S, образованных по основаниям рь р2, • • • , Рп при умножении числа А на множитель vpn+1 = P, определится как 6 = 4W,2 S-» = P2 (5-52) g=l Ц=1 258
При этом выражение для количества переполнений при- нимает вид п k Q = vpn+iAA4-van+1—vSa + v2 (5-53) u=i Ри поскольку при умножении на Р получаем произведение, равное нулю, у которого соответственно Snp = 0 и Лпр = 0. Несколько сложнее дело обстоит с числом неправильных пар по основанию pj, поскольку величина VPn+1 = ^ не делится нацело на pj. Обозначим целую часть от де- ления vpn+i на pj через qu а остаток — через q2. Тогда V-pn+1 = ^p; + 92. Теорема 5.13. Если в системе, нормированной по осно- ваниям pj и Рп+ц число Л = (аь аг, .. ., а;, ..., ап, апц) умножается на величину Р} то значащая цифра в произведении по основанию pj совпа- дает с такой же в исходном числе, а число неправиль- ных пар 6; по основанию pj при кратности минимального псевдоортогонального числа ka.j определяется формулой bj = ka.jqt> (5-54) где Доказательство. По условиям теоремы имеет место vpn+i = -^ = qiPj+1- Поэтому при умножении цифры исходного числа на Урп-Н получим anp s (qipj + 1) aj (mod pj) = aj (mod pj), чем доказывается первое положение теоремы. Количество неправильных пар по основанию pj опре- делится как 5j = kri.jqi. 17* 259
поскольку общее количество слагаемых по основанию pj больше кратного ka .j на единицу, иначе говоря, на количе- ство неправильных пар между исходным числом и произ- ведением. Однако эта неправильная пара в 67- учитываться не должна, поскольку результат произведения в качестве сла- гаемого в общую сумму не входит, что и доказывает утвер- ждение теоремы. Следствие. Выражение (5.51) с учетом (5.54) прини- мает вид = vpn+i&A — Лпр + van+1 — vSa + + *S k^ + ^(Saj> + ka.jqi). (5.55) Ц=1 Ц 3 Теорема 5.14. Если в системе, нормированной по осно- ваниям pj И pn+i, число А = (аь а2, ..., ..., an, ап+1) умножается на величину то след произведения Snp совпадает с его минимальным следом и определяется как 5Пр ~ Snp = haps* (mod рп+i), (5.56) где ka.j — кратность минимального псевдоортогон а льного числа с цифрой а/ по основанию р7-, a S* — след мини- мального псевдоортогонального числа с цифрой по осно- ванию Pj единичной кратности $* = —^(modpre+1). PjPn+i Доказательство. На основании предыдущей теоремы известно, что значащая цифра в произведении по основа- нию pj совпадает с такой же в исходном числе. Остальные цифры произведения равны нулю, поскольку умножение производилось на величину Р Урп+1 = — - Pj Стало быть, след произведения совпадает со следом минимального псевдоортогонального числа с цифрой а; по 260
основанию р7-, которые по условию имеют кратность /га;7. А тогда справедливо соотношение (5.56), являющееся утверждением теоремы. Теорема 5.15. В системе, нормированной по основа- ниям pj и Pn+i, имеет место соотношение 91 — *Рп+1 + Рп+1 — 3*, (5.57) р где 71 определяется из выражения — = q{p7+1; к — целое неотрицательное число; S* —след минимального псевдоор- тогонального числа с цифрой по основанию р7 единичной кратности. Доказательство. Величину определяемую выраже- нием (5.57), представим в виде 71 — иРп+i + Р, где х —целое неотрицательное число, a р<рп+1. Тогда -—WWl + pPj+1 Pj или PjP +1=о (mod pn+l). (5.58) При условиях теоремы последнее сравнение имеет един- ственное решение. Напишем выражение для минимального псевдоортого- нального числа единичной кратности —— = (0, 0, ..., а)1’, 0, ..., S*) = a)n —+ S* —— Р. PjPn+1 v ’ 3 Pj Pn+1 Из этого выражения следует, что pjpn+i — S*pj+ 1 =a)1)pIl+i ИЛИ Pj(Pn+i —S*)+ 1 = 0 (modPn+1). Тогда P — Pn+i — 3* является решением сравнения (5.58), что доказывает утверждение (5.57) теоремы. Следствие 1. Величина Snp + ^aj.j7i может быть пред- ставлена в виде Здр + &ajj9i == иАа^.7Рп+1 + IjPn+i Ч“ Pn+i? (5.59) где /7 есть целая часть выражения Рп+1 — рп+1 (5.60) 261
Действительно, на основании (5.56) и (5.57) величина Snp + ka.jqi может быть представлена как Snp 4" = kajjS* (mod Pn+1) 4“ XPn+ikajj 4* (Pn+1 S*) kajj или, учитывая (5.60), Snp 4- ka.jqt = v.kaj3pn+i 4- /jpn+14- ka.jS* (mod pn+1) 4- 4- kaj} (pn+i — S*) (mod pn+i), откуда Snp 4" kajjqi = nkajjPn+i 4“ IjPn+i 4" Pn+i- Следствие 2. На основании изложенных выше теорем, выражение (5.55) принимает следующий вид: Й = Vpn+i^A — А пр 4" V«n+1 — vSji 4- 4~v2 jj+ А/ 4- 1 Si или п k Q = V(/77i4-1Aa + an4-i — *$а) + V 2 J + h + 1 — Дпр- Ц=1 (5.61) Найдем такое значение цифры ап+1, при котором число А расположено в первом интервале, т. е. является правиль- ным. В этом случае максимальное число переходов через диапазон Р определяется числом переходов при умножении наибольшего числа первого интервала на множитель vpn+i, а именно: ЬА-’) VPn+i =VP-' V Pn4-1 ' Pj т. е. величина Й не может принимать значения, превышаю- щие величину v — 1 для чисел, расположенных в первом интервале. Далее, если число расположено в первом интервале, то «п+1 = SA и характер исходного числа Аа может прини- мать только значения 0 и —1, причем ситуация, когда ДА = —1, может иметь место, если ноль числового диапа- зона попадает в интервал (SA — (п — 2), SA). 262
Введем параметр 9, определенный как тогда 1, если ау = 0, О, если а^#=0, 0 = 1-Дпр. (5.62) (5.63) Действительно, если а; = 0, то произведение состоит из одних нулевых цифр, для которых Апр = 0, а тогда 0=1. Если же а,-=7^ 0, то след произведения Snp О, а поскольку цифра по основанию рп+1 в произведении тождественно равна нулю, то по определению характера получаем Дир = 1 > 0 = 0. Теорема 5.16. (0 критерии правильности числа.) Если в системе, нормированной по основаниям Pj и рп+1, задано число А = (аь а2, ..., а}, ..., ап, ап+1) со следом SA и характером ДА, то критерием правиль- ности заданного числа является выполнение условия Рп+1Да 4“ ап-Ц— Зд 4-1 = 0, (5.64) где / — целое неотрицательное число, определяемое из условия ” k v у _|_// + 0 = /v + r при v=—— (5.65) " Ри, J PjPn+1 Ц=1 или из условия п k vY -^=:/v + r при pn+iv = P, (5.66) Ц=1 где г —целое неотрицательное число Г< V. Доказательство. Введя обозначения в соответствии с (5.65) или (5.66), можем (5.53) и (5.61) записать в виде й — v (pn+i^A 4* an+i — Sa 4" 0 4-г- 263
Но величина Q не может превышать величину v — 1, откуда и следует утверждение теоремы. Следствие 1. Искомое значение цифры апЧ, при кото- ром число А является правильным, определяется формулой a«+i = (SA — /) (mod рп+1). (5.67) Действительно, если SA —1>0, то из (5.64) следует, что Pn+i&A + ап+1 > 0. Поскольку Pn+i OCn+i О, то этот случай может иметь место лишь при условии ДА = О, an+i = SA — t, что удовлетворяет (5.67). Если же SA — /<0, то Рп+1Да + “п+1<0- Откуда, поскольку «п+1 > 0, может иметь место только случай ДА = — 1 и an+i = Pn+i + SA — t, т. е. (5.67) справедливо и в этом случае. Следствие 2. На основании сказанного, получаем следу- ющее определение значения характера исходного числа А: ДА = О, если SA — />0, 1, если SA — t<ZO. (5.68) Рассмотрим определение величины t при умножении на q = vpn+l = Р. При этом выражение (5.66) может быть представлено в виде tv + r^k^ + k^+.-.+k^, (5.69) Pl Р2 Рп as Р где еР =-----= v, что эквивалентно переходу от системы Рп+1 п-}-1 оснований ph р2, ..., рп, Pn+i с диапазоном Р = Д pt = i=l = Pn+i^ к сокращенной системе оснований pi, р2, ..., рп с диапазоном v = tF. Величина t в этой системе есть не что иное, как число переходов через диапазон системы при суммирова- нии членов правой части выражения (5.69), a kt — целые неотрицательные числа, удовлетворяющие выражению kta.t (mod pt) =аг, i = 1, 2, ..., п. 264
где а; —цифра исследуемого числа по основанию pt, а ~ р at —------(mod рг), /=1,2, ..., п, PlPn+l или, что то же, kt —— — tCjipi ОС;, (5.70) Pi где —целое неотрицательное число. Если через mt обозначить веса ортогональных базисов в сокращенной системе оснований, то имеет место равен- ство v । 1 mt — = x2ipi +1, Pi где х2г — целые неотрицательные числа. Умножив обе части этого равенства на v , atmt — = x2iazpi+af Pi и сравнив с (5.70), получим ki^attnt (mod pt), откуда , v v Г омп; 1 ИЛИ < v v где Г арщ 1 ri~~ L”• Теперь выражение (5.69) может быть представлено в виде п п ifv + r=2 — •vjn. (5.71) £1 Pi £ Исходное число в сокращенной системе имеет вид А'= = (аь а2, ..., ап). Обозначим его след через Sa- Ранг числа А' обычно точно неизвестен, поскольку при сос- тавлении числа А! из минимальных псевдоортогональных компонент могло иметь место нефиксируемое переполне- ние. Но всегда известен истинный ранг числа (otj, а2, ... ,,., an-i, S'a), так как при конструировании этого числа 265
из минимальных чисел не мог иметь места ни один неуч- тенный переход за диапазон. Обозначим истинный ранг этого числа через г11Ст. Тогда n—i (cq, а2, ...» ап-15 Sa) = У агтг + S’Amn-^—ra(ytv. i=i Pi Рп Откуда П—1 У aitnt = (ап а2, an-t, S'A) + rHCTv — S'Amn , i=i Pi Pn и, подставив это выражение в (5.71), получим tv + r = (ai, а2, ..., an-i, Sa) +гИст^ — п — SAmn-^- + anmn-^- — v У гг Рп Рп i=l ИЛИ /v + r = (a!, аг, ...,an-i, Sa)+ ((а„ —Sa)/»п)(modPn)v-+ Pn n r + v (гист — 2 + [ ”pn A mn ] ) ’ г—1 откуда, если an = S^, следует, что n t — Г ист 3 П • i=l При a„> Sa возможны два случая: а) если (ai, a2, ..., an-i, Sa) + ((«„ — SA) mn (mod pn) x n t X^~<V, TO / = Гист —3 Г a,trSA » Pn L Pn J i=l б) если (at, a2, ..., an-i, Sk)+((an — Sk)mn) (modpn)x n , X > V, TO t = rист— У rI + Г —~ mn 1 + 1 • Pn L Pn J i=l При o„<Sa также возможны два случая: а) если (alt аг, ..., an-t, Sa) > ((5д — an) тп) (mod рп) , 266
то п t — f ист an—SA Рп 1=1 б) если («1, а2, ..., otn-i, SA)<((SA—an)mn)(modpn)^-, Рп ТО п an—SA Рп тп i=l Таким образом, доказана следующая теорема. Теорема 5.17. Если в нормированной системе оснований Р1, Р2> • • •, Рп, Pn+i задано число А со следом SA и с цифрами at, а2, ..., ап по основаниям р±, р2, ..., рп соответственно, то цифра 0Сп+1, при которой число А является правильным, опре- деляется из условия п 1=1 ОСд — Рп (5-72) где Гист —истинный ранг числа /ИА>; SA —след числа А'; МА’ = (аи а2, ..., an-i, S’a) и Г1 в сокращенной системе оснований рь р2, ..., рп, а вели- чина Ai определяется как д1== 1, если при an < SA имеет место (ai, аг, .... «п-i, Sa) < ((S'A — ап) тп) х X (mod рп)^~ , Рп — 1, если при an>SA имеет место (5.73) (ai> а2> • • •> ап-ц <5д)-|-((осп — S’a)тп) х X (mod pn)> v, Рп v 0, в остальных случаях. 267
Примечание. Поскольку МА> — число, составленное суммированием (n — 1) минимальных псевдоортогональных чисел, то имеет место следующее ограничение на его величину: МА> = (<%!, «2, .... an-i, Sa) < (n— 1) . Рп Это ограничение в большинстве случаев позволяет по (5.73) точно определить величину Однако возможны критические случаи, когда ап+1 определяется с точностью до единицы, если ссп<5а и при этом (Si — а„) тп (mod рп) < п — 1, или если an>Si и при этом (ап — Sа) тп (mod рп)>Рп — (п — 1). Проиллюстрируем на примерах определение минимального следа числа методом умножения исходного числа на величину Р. Рассмот- рим исходную систему счисления с основаниями = 5; р2 = 7; р3=11; р4=13; р5=17; pQ = 19; р7 = 23; р8 — 31, с диапазоном Р=1 152 646 495 и ортогональными базисами с их весами Bi —922 117 196 ^==4; В2-987 982 710 zn2 = 6; В3 = 104 786 045 т3 = 1; В4 = 975 316 265 т4=11; В5 —406 816 410 /л5 = 6; Вб = 424 659 235 тб = 7 В7 = 751 725 975 т7 = 15; В8 = 37 182 145 т8=1 Вычислим минимальные псевдоортогональные числа с их крат- ностями. По основанию Pi =5: Ми = (1, 0, 0, 0 , 0, 0, 0, 7) kn = 4 М21 = (2, 0, 0, 0, 0, 0, 0, 13) &21 = 3 Л431 = (3, 0, 0, 0, 0, 0, 0, 19) k3i = 2 М41 = (4, 0, 0, 0, 0, 0, 0, 25) £41 = 1 По основанию р2 = 7 М12 = (0, 1, 0, 0, 0, 0, 0, 5) £12 = 4 М22 = (0, 2, 0, 0, 0, 0, 0, 9) 622 = 1 М32==(0, 3, 0, 0, 0, 0, 0, 14) k32 = 5 М42 = (0, 4, 0, 0, 0, 0, 0, 18) &42 = 2 М52 = (0, 5, 0, 0, 0, 0, 0, 23) k52 = 6 М62 = (0, 6, 0, 0, 0, 0, 0, 27) /262 = 3 268
По основанию рз =11: Л413=(0, 0, 1, 0, 0, 0, 0, 29) *i3=9 Л423=(0, О, 2, О, О, О, О, 26) *23=7 Л433 = (0, О, 3, О, О, О, О, 23) *зз=5 Л443= (О, О, 4, О, О, О, О, 20) *43=3 Л453 = (0, 0, 5, О, О, О, 0, 17) *5з=1 Л463 = (0, 0 , 6, О, О, О, 0, 15) *вз=10 Л473 = (0, 0, 7, О, О, О, 0, 12) *73 = 8 Л483 = (0, 0, 8, О, О, О, 0, 9) *83 = 6 Л493 = (О, 0, 9, О, О, О, 0, 6) *93 = 4 М10,3=(0, 0, 10, О, О, О, О, 3) *10>з = 2 По о с н о в а н и ю р4= 13: Л414=(0, О, О, 1, О, О, 0, 5) *14=3 Л424= (О, О, 0, 2, О, О, 0, 10) *24 = 6 Л434=(0, О, О, 3, О, О, 0, 15) *з4 = 9 Л444 = (0, О, 0, 4, О, О, 0, 20) *44=12 Л154=(0, О, 0, 5, О, О, 0, 24) *54 = 2 Л4в4= (О, О, 0, 6, О, О, 0, 29) *64 = 5 Л474 = (О, О, 0, 7, О, О, О, 3) *74 = 8 Л484 = (0, О, 0, 8, О, О, 0, 8) *84=11 Л194 = (О, О, 0, 9, О, О, 0, 12) *94 = 1 Л4ю, 4 = (О, О, 0, 10, О, О, 0, 17) *10,4 = 4 Л4ц,4 = (0, О, 0, 11, О, О, 0, 22) *ц,4 = 7 Л412,4=(0, О, 0, 12, О, О, 0, 27) *12,4 = Ю По о с н о в а н и ю р5= 17: М15 = (0, О, О, О, 1, О, 0, 21) *iS=16 Л425 = (0, О, О, 0, 2, О, 0, 10) *25= 15 Л435 = (О, О, О, О, 3, О, 0, 30) *35 = 14 М45 = (О, О, О, 0, 4, О, 0, 19) *45 = 13 М55 = (О, О, О, 0, 5, О, 0, 8) *55 = 12 М65=(0, °, °, °, 6, О, 0, 28) *65=И М75 = (0, О, О, 0, 7, О, 0, 17) *75 = Ю Л485 = (0, О, О, 0, 8, О, 0, 6) *85 = 9 Л495 = (0. О, О, 0, 9, О, 0, 26) *95 = 8 М10,5= (О, О, О, 0, 10, О, 0, 15) *10,5 = 7 Ми, 5=(О, О, О, 0, 11, О, 0, 4) *11,5 = 6 269
По По М12,5- (°} 6, 0, 0, 12, О, 0, 24) Л413,5 -(О, О, О, О, 13, О, О, 13) М14,5 = (О, О, О, О, 14, О, О, 2) М15,5 = (О, О, О, О, 15, О, 0, 22) Л416,5 = (О, О, О, 0, 16, О, О, И) основанию рв = 19: М13 = (0, О, О, О, О, 1, 0, 20) М23 = (0, °, °, °, °, 2, 0, 9) Л433=(0, °, О, 0, 0» 3, 0, 28) М43 = (0, О, О, О, 0, 4, 0, 17) М53 = (0, О, О, О, 0, 5, 0, 5) Л433 = (О, О, О, О, 0, 6, 0, 25) М73=(0, О, О, О, 0, 7, 0, 14) М83=(0, О, О, О, 0, 8, 0, 2) М93 = (0, О, О, О, 0, 9, 0, 22) Мю, 6 = (0, 0, 0, 0, 0, 10, 0, 10) Ми, 6 = (°> °» 0, 0, 0, 11, 0, 30) Mi2,6-(°> °, °, °, °, 12, 0, 18) М13,б = (0, °, °, °, °, 13» °, 7) М14>6 = (0, 0, 0, 0, 0, 14, 0, 27) М15>3=(0, 6, 6, 6, О, 16, 0, 15) М13>3 = (0, 0, 0, 0, 0, 16, 0, 4) Л417>6 = (0, 0, 0, 0, 0, 17, 0, 23) М18,6 = (0, 0, 0, 0, 0, 18, 0, 12) основанию р7 = 23: М17 = (0, 0, 0, 0, 0, 0, 1, 11) М27=(0, 0, 0, 0, 0, 0, 2, 22) Д437=(0, 0, 0, 0, 0, 0, 3, 2) М47 = (0, 0, 0, 0, 0, 0, 4, 13) М57=(0, 0, 0, 0, 0, 0, 5, 23) Л/37 = (0, 0, 0, 0, 0, 0, 6, 3) М77 = (0, 0, 0, 0, 0, 0, 7, 14) М87= (О, О, О, О, О, 0, 8, 25) М97 = (0, 0, 0, 0, 0, 0, 9, 5) М10,7 = (0, 0» 0, 0, 0, 0, 10, 15) М1Ь7 = (О, О, О, О, О, 0, 11, 26) £12, 5 = 3 £13, 5 = 4 £14. 5 = 3 £15, 5 = 2 £16, 5 = 1 k^Q — 8 £26 = 16 £зв = 5 k^Q =13 £53 = 2 £бв = 16 £76 ~ 13 £8б = 7 £96 = 16 £10, 6 = 4 £11,6 = 12 £12,6 = 1 £1з, в = 9 £14,6 = 17 £15,6 = 6 £16,6= 14 £17, 6 = 3 £18, 6=И £17 = 5 &27 = 10 £37 = 15 ^47 = 20 ^57 = 2 £б7 = 7 ^77 12 £87=17 &97 — 22 £10, 7 = 4 £11,7 = 9 270
Л412,7 = (0> О, О, О, О, О, 12, 6) *42,7 = 14 М1317 = (О, О, О, О, О, О, 13, 17) *43,7=19 М14,7 = (0, О, О, О, О, О, 14, 27) *14,7= 1 Л415,7 = (О, О, О, О, О, О, 15, 7) *45,7 = 6 Л<1б,7 = (0, О, О, О, О, О, 16, 18) *1в,7= 11 М17, т = (О, О, О, О, О, О, 17, 29) fe17,7 = 16 Л118,7 = (О, О, О, О, О, О, 18, 9) feJ8,7 = 21 Л119,7 = (0, о, О, О, О, О, 19, 19) *19,7 = 3 Л42о, 7 “ (О» О» О» О» О, О, 20, 30) ^20>7 = 8 М21,7 = (О, О, О, О, О, 0, 21, 10) £2Ь7 = 13 М22,7 = (О, О, О, О, О, 0, 22, 21) &22,7= 18 Параметры сокращенной системы оснований: Р1 = 5, р2 = 7, р3= 11, р4= 13, р5= 17, р6= 19, р7 = 23, были приведены при иллюстрации метода расширения диапазона. Пример. Найти минимальный след числа А = (1, 5, 10, 1, 2, 8,1, ая+1). Вычисляем след ^ = (7+23 + 3 + 54-10 + 2 + 11) (mod 31) = 30. В сокращенной системе вычисляем след числа А' = (1 + Ю + 13 + 22 + Ю + 3) (mod 23) = 22 и его истинный ранг гист = 1+5+11+5 + 6 + 4 = 32—10 = 22. Вычисляем расчетный ранг 3 п = 2+8+1 + 3=14 1=1 и величину Тогда величина минимального следа числа определится по (5.72) аЛ+1 = 30-22+14 + 4 +Ai = 26 + Здесь имеет место неравенство (5д—ara)mn (mod pn)4~= 13-4" >(”—1)+ > Рп Рп Рп откуда Д1=1 и an+1 = 5^ = 27. Действительно, число Л = (1, 5, 10, 1, 2, 8, 1, 27) = 20000111 является правильным. Пример. Найти минимальный след числа А —(О, 3, 10, 12, 11, 14, 5, аЛ+1). Вычислим след SA = (14 + 3 + 27 + 4 + 27 + 23) (mod 31) = 5 271
и след S'A числа А' -(6+13+15+3 + 19) (mod 23) = 10, истинный ранг которого гИст = 3 + 11 +6+11 +10—25 = 31» а расчетный ранг 3 rt = 1 + 8+2+10+5 +1 = 27. г=1 Находим - Рп J По (5.72) определяем величину минимального следа числа А ап+1 — 5 — 31 +27+ 1 + Д1 = 2 + Др Здесь <SA ~ “») тп (mod рп) +=2 + , Рп Рп т. е. величина Д1 может иметь одно из двух значений: 0 или 1, откуда минимальный след числа может иметь одно из двух значе- ний, аЛ+1 = 2 или «^44 = 3, т. е. имеет место критический случай. § 5.6. КРИТИЧЕСКИЕ СЛУЧАИ Как при использовании метода расширения диапазона, так и при использовании метода отображения на конец диапазона в нормированной системе оснований имеют место неопределенные ситуации, когда мы оперируем с числом Л = (аь а2, ..а„, ап+1), про которое точно неизвестно, лежит оно в первом интер- вале [0, еР) ИЛИ ВО втором [аЛ, 2аР). Пусть ф(Л)— четность числа А, определяемая как 1, если число А нечетное, 0, если число А четное. Рассмотрим число ylg = («х, а2, .... ап+1, pn+i), где Pn+i = «п+1— 1 (mod pn+i)- Число Лв может находиться либо в первом интервале [0, &), если число Л находилось во втором интервале, либо в последнем интервале [(pn+i—Pn+i^), если число Л находилось в первом интервале. Образуем фор- 272 ф(Л) =
мальным делением на два число -y-=(Yi» Y2, •••, Yn, -^-(modpn+1)) ( где Y* = -у- (mod»» i = 1, 2, ..., п, и пусть Г = (Yi, Yz, • • •, Yn, Yn+i) — число, у которого цифра получена одним из опи- санных выше способов определения минимального следа числа, причем допускается критическая ситуация, т. е. оно может находиться в одном из первых двух интервалов числового диапазона. Тогда возможны следующие случаи. Случай 1. Число Лр четное и правильное, т. е. находит- ся в интервале [0, еР). Частное от формального деления числа Лр на два будет являться числом, также правильным в силу четности Лр. Число Г может по определению нахо- диться только в одном из первых двух интервалов чис- лового диапазона. Тогда разность чисел Г и будет Лр г----2“ = (Y1> Y2, •••, Yn, Yn+1) — — (yi, Y2, Yn, -^-(modpn+1)) = = (0, 0, . ..,0, (Yn —%±) (modpn+1)) , т. e. если Г — правильное число, то ( Yn+i — ) (mod рп+1) = 0, если Г —число из второго интервала числового диапа- зона, то (Yn+i — -^r-) (mod pn+i) = 1. В общем случае ( Yn+i — ) (mod pn+i) < 1. 18 — 1365 273
Случай 2. Число Лр нечетное t|> (Лр) = 1 и правильное. Формальное частное определится тогда как 4== -wpL t И()а1+Л+jwr Поскольку -----2------ Ар то можно утверждать, что число расположено в ин- тервале [ рп+^~1 ff, Pn“+-Lff). Отсюда число Г' = (У1» Уг, • ••> Уп, ₽;+1), где р;+1 = (-^- ip (Лр) -£*|=1-) (mod рп+1) является правильным, т. е. имеет место та же ситуация, что и в первом случае. Тогда ( Yn+i —^+1|> (Лр) **1=± ) (mod pn+l) < 1. Случай 3. Число является четным числом, распо- ложенным в последнем интервале. Тогда формальное част- ное попадает в интервал Рп+1— 1 ср Рп+14~ 1 бр) Поскольку число Лр может быть представлено как “ (Pn+i—1)<^* + ДЛр, где ДЛз<<0\ то Лр Pn+1—l дс , -2- = -^—^ + —» откуда (Yn+1- %*) (modpn+1)>£^=l. Случай 4. Число Л6 является нечетным и неправиль- ным числом интервала [(рп+1—l)eJ\ Pn+i^P), а частное от 274
формального деления числа Лр на два будет ^3 __ Afr-^Pn+i^ _ (pn+i — 1) + ДЛр -j-pn+i^ _ ___ - - 1 где ДЛр<еР или Поскольку Ф — ДЛрСсР, то можно утверждать, что Лр число -g- расположено в последнем интервале, т. е. Ля (Pn+1 1) еР <^_ <Z Рп-\Л&• Тогда (уп+1-^ + ^(Лв)^^) (modpn+1)>^ll . Резюмируя, можно сформулировать критерий пра- вильности числа Лр следующим образом: число Лр правильное, если имеет место условие (Yn+i-(Л₽) (mod pn+1) < 1. (5.74) Таким образом, в критических случаях мы можем вос- пользоваться критерием (5.74) для решения альтернативы, какое число является искомым правильным числом Л или Лр. Рассмотрим теперь некоторые теоремы, связывающие характеристики (типа ранга, следа, характера и т. д.) чисел Г и Л. Теорема 5.18. Если в системе оснований р2, ..., рп, с весами ортогональных базисов mif т2, ..., тп, задано число А' = (аь а2, ..., an-t, ап), истинный ранг кото- рого г'а, а четность ф(Л'), то истинный ранг числа Г = (у1( у2, • • •, Yn), полученного формальным делением числа А' на два, определится как п ^==7 (d + 2 т;ф(аг)-ф(Л')) , (5.75) £=1 где ф (cQ есть функция четности величин af. Доказательство. Сначала докажем теорему в предпо- ложении, что число А' четное, т. е. ф (Д') = 0. В этом случае при удвоении формального частного Г переход через 18* 275
Диапазон не может иметь места, т. е. Г + Г = 2Г = Л', откуда по теореме о ранге суммы следует г'а = 2гг — 3 т^сц). i=l Этим доказана справедливость (5.75) для четных Д'. Пусть теперь исходное число Д' нечетное, т. е. ф (Д') = 1. Тогда при удвоении формального частного произойдет один переход через диапазон, т. е. Г+Г = 2Г = Д' + ^ф (Д'), откуда гА — 2гг — 3 тгф(аг) —ф(Л'). г=1 Следовательно (5.75) справедливо и для нечетных Д'. Теорема 5.19. Если задана система оснований р2, ... ..., рп с весами ортогональных базисов m2, ..., тп и расширенная система оснований p2i .Pm Pn+i с весами ортогональных базисов т2, ..., тп, rrin+i и известно значение оа'— обобщенной суммы цифр числа А' = (а„ а2, ..., ап), то значение ор обобщенной суммы цифр числа Г = (Yi, у2, • • •, Уп), полученного формальным делением числа А' на два, определится из условия п п аг = | (o^' + ^+iS /М(аг)~2 'М(аО) • (5.76) 1=1 1=1 Доказательство. Поскольку по условию число Г полу- чено формальным делением числа Л' на два, то для всех i = 1, 2, ..., п имеет место _аг + рц|>(«г) У1— о • 276
По определению обобщенной суммы цифр п Стг=2 + j _ i=l п = у (°а- + 2 (^tpn+i —mt) Ф («о) » г=1 что совпадает с утверждением (5.76) теоремы. Следствие 1. Если значения обобщенных сумм цифр чисел Л' и Г представить в виде в А' = ^1Ртг+1 ЯА', $Г~ У^2рп+1 — где х2, qA'i 7г — целые неотрицательные числа, причем ?А' < Рп+1, ЯГ < Рп+1, то имеет место равенство п Рг = у (ра- + 2 mi^ (а0) (mod Р»+1)- (5-77) 2=1 Действительно, условие (5.76) может быть представ- лено в виде 2х2Р»+1 — 2</г = 5<iPn+i — Ра- + Pn+i 2 (аг) — 2=1 — 2 (аг), 1=1 или 2<7г = Рп+1(2%2 —2 тгф(ссг)) + РА-+ 2 2=1 2=1 Введя обозначения: х3 = 2х2 —Xj— 2 «гф(аг), 2=1 Р = РА'+ 2 тгф(аг), 1=1 277
получим 2<7г = Рп+1Хз + ?- Поскольку рп+1 — нечетное основание, а в левой части выражения стоит четное число, то можно утверждать, что величины х3 и q имеют одинаковую четность. Тогда, если х3 и q — четные величины, имеет место ?Г — Ртг4-1“2~+"2" или Яг = y<7(modpn+1). Если х3 и (/ — нечетные величины, то имеет место /т — п _|Рп+1 + <7 7г~ Рп+1—2----1---2--- или 1 / , ч 7г^у?(тос1 рп+1). Отсюда п Яг = у (<М' + 3 "ИЧ05*)) (modpn+1), г=1 что совпадает с (5.77). Теорема 5.20. Если в расширенной системе оснований Р1» Р2» • • • > Рпч Рп+1 получено расширением диапазона число Д' = (аь а2, • • •, Оп» ап+1) четности ф(Д'), то для числа Г = (Y1, Уг, • • •, Yn, Yn+i), где Yi=-y-(mod pt), i— 1, 2, ..n, значение цифры Yn+i по основанию pn+i, при котором число Г является правильным, определяется из условия mn+lyn+l = (m0d pn+l). (5.78) 278
Доказательство. Значение цифры уп+1 числа Г в рас- ширенном представлении определяется как «n+iYn+i = j (qA’ — г а- + ф (A')) (mod pn+i), откуда и следует утверждение (5.78) теоремы. Следствие. В нормированной системе оснований усло- вие (5.78) принимает вид Уп-н = <Хп+^(Л ^(modpn+i). (5.79) Критерий правильности числа Лр, учитывая (5.79) и Pn+i= o^n+i 1 (mod Pn+i)» примет вид (-•^(Л) + ф (Лв) ) (mod pn+i) < 1 (5.80) и может быть сформулирован следующим образом: если четности чисел А и Лр совпадают, то правильным является число Л. Если четности чисел Л и Лр разные, то пра- вильным является число Лр. Рассмотрим, как может быть определена четность числа Л. Для образования числа вида МА = (а1? а2, ..SA) складывались минимальные числа, являющиеся констан- тами системы. Обозначив через функцию четности кратности соответствующего слагаемого, можно утверж- дать, что четность числа МА определится как п—1 ф(МА)= 2 Ф (ktj) (mod 2). 1=1 Далее проводилось расширение числа МА, но при этом число не менялось по величине и, стало быть, не меня- лась его четность. Для образования числа Л к числу МА прибавили константу М$п четности ф(7Йрп). Поскольку при этом переход через диапазон невозможен, то четность числа Л определится как ф(А) = (2 ф(^) + ф(М₽п))(пх^2). (5.81) г=1 Для определения четности ф(Др) рассмотрим величину N' = Yn+i) (modpn+1), 279
которая определяет число интервалов, разделяющих числа Г = (Yi, Y2, • • •, Yn, Yn+i) И •П/ ^3 ( Pn+1 f л Л г = -у=Цуь Y2, Yn, —(modpn+1)J . При этом возможны следующие случаи. Случай 1. Если N' < Рп+% ~1, то при удвоении числа Г' не имеет места выход за диапазон, а полученное в резуль- тате удвоения число А четное, т. е. гр (Лр) = 0. Случай 2. Если N' > ? т0 при удвоении числа Г' имеет место выход за диапазон, а стало быть, полученное в результате удвоения число Лр нечетное, т. е. гр (Лр) = 1. Случай 3. Если N' = рп+^~^, то в соответствии с тео- ремой о четности числа имеем Ф (Лр) = (гр (₽„+1) + гр (SAp) + гр (X)) (mod 2), (5.82) где X —число неправильных цифр в числе Лр. Теперь может быть сформулирован третий вариант критерия правильности числа: если N' <pn+i~ * , то правильным является число Лр. Если , то правильным является число Л. Если N' = рп+1~- , то при 1р(Лр)= 1 правильным будет число Л, а при гр (Лр) = 0 правильным будет число Лр. Пусть задана основная система оснований: Р1 = 5; Рг = 7; р3=11; р4=13; р5=17; р6 = 19; р7 = 23, с диапазоном == 37182145, параметры которой приведены на стр. 249. В качестве расширенной системы примем Р1 = 5; р2 = 7; Рз=И; Р4= 13; Рв = 19; р7 = 23; р8 = 31. Диапазон такой системы — 1152646495. Параметры этой системы приведены на стр. 268. Для основной и расширенной систем величины принимают следующие значения: ^ = 24, Х2 = 26, Z3=-2, Х4 —26, ^5=10, А6 = 11, Х7=-20. Пример. Определить номер интервала, в котором находится число А==(0, 1, 4, 2, 16, 13, 21, 9). 280
Найдем сначала значение an+i, при котором число Л = (0, 1, 4, 2, 16, 13, 21, ад+1) является правильным, т. е. расположено в первом интервале. Найдем след этого числа SA в основной системе SA = (2 + 8 + 21 + 94-21) (mod23)= 15. При этом имели место два перехода через основание р7 = 23, т. е. лА = 2. Таким образом, в основной системе можно образовать число МА = (0, 1, 4, 2, 16, 13, 15), ранг которого равен 14-5 + 5+17+10-2.5 = 28. Вычислим обобщенную сумму цифр числа А от А = 26 + 8 + 52 + 160 + 143 + 300 = 23 • 31 — 24. Следовательно <7 = 24. Тогда ап+{ — (24 — 28) (mod 31) = 27. Образуем расширенное представление числа МА МА = (0, 1, 4, 2, 16, 13, 15, 27). Для того чтобы по основанию р7 получить цифру «7 = 21, необходимо к полученному числу прибавить число Л17 = (0, 0, 0, 0, 0, 0, 6, 3) кратности /г7 = 7. Поскольку имеет место ky^Pn —п +1, то полученная сумма Л1 = Л4А+Л47 = (0, 1, 4, 2, 16, 13, 21, 30) и есть искомое правильное число. Действительно 4i = (0, 1, 4, 2, 16, 13, 21, 30) = 15-106, т. е. лежит в первом интервале расширенной системы. Исходное число А находится в интервале [10^*, 11^). Пример. Определить цифру а8, при которой число ^ = (3, 3, 3, 3, 3, 3, 3) будет правильным в расширенном диапазоне. Вычислим след числа А1 в основной системе SА = (12 + 6 + 21 + 20 4-1 + 8) (mod 23) = 22. При этом имели место два перехода через основание р7, т. е. лА = 2. Образуем число МА: МА = (3, 3, 3, 3, 3, 3, 22), ранг которого гм =5 + 3 + 7 + 5 + 3 + 3-10=16. А 281
Определим величину обобщенной суммы цифр (ГА = 72 + 78 + 6 + 78 + 30 + 33 + 440 = 24.31—7, откуда ап+1 = (7-16) (mod 31) = 22. Таким образом получено расширенное представление числа МА МА = (3, 3, 3, 3, 3, 3, 22, 22). В качестве константы /И7 должна быть выбрана 2Й7 = (О, 0, 0, 0, 0, 0, 4, 13) кратности £7 = 20. Здесь имеет место критическая ситуация 67 > р7—лг +1, т. е. полученное число Л2 = Л[А+М7= (3, 3, 3, 3, 3, 3, 3, 4) лежит либо в первом, либо во втором интервале. Как легко видеть в этом случае Ф (+г) = 2 t <mod 2) =°- i—i Тогда Найдем ^П+1 = | (mod 31) = 17, откуда N' = 15, т. e. имеет место случай дг/_ Рп+1~ 1 2 Применив теорему о четности числа, получим ф (Л3) = (ф (3) + ф (8 А ) + ф (%)) (mod 2). р Здесь ф (3) = 1. Найдем значения Ф (М = 0 + °+1 +1 +°+° + °) (mod 2) =1 ’ р ф(Х) = (О+1 + 1 + 1 + 14-0 + 1) (mod2) = 0. Получаем ф(Лр) = 0. По третьему варианту критерия правильности устанавливаем, что правильным числом является число Л = (3, 3, 3, 3, 3, 3, 3, 3). Действительно, Л = 3<Р. § 5.7. О НЕМОДУЛЬНЫХ ОПЕРАЦИЯХ К немодульным операциям относятся операции, нося- щие позиционный характер, т. е. оперирующие с величиной всего числа в целом, а не с его представлениями, взятыми 282
по отдельным основаниям изолированно. С этой точки зре- ния немодульные операции относятся к числу позиционных операций, т. е. наиболее трудных операций в системе оста- точных классов. Дополнительную трудность создает то обстоятельство, что арифметическое устройство, работающее в остаточных классах, целесообразно реализовывать в виде самостоя- тельных блоков, работающих по отдельным основаниям и практически не связанных между собой. Поэтому алго- ритмы выполнения немодульных операций должны быть построены исходя из их реализации в непозиционном ариф- метическом устройстве. Рассмотренные в настоящей главе методы определения номера интервала, в котором расположено число или, что то же, методы определения минимального следа числа, позволяют получать оценку исследуемого числа по его величине с точностью до величины интервала, что, в свою очередь, позволяет найти эффективные алгоритмы выпол- нения большинства немодульных операций. Широко может быть использован для этой же цели исследованный в гл. 3 критерий переполнения при сложении чисел. Пусть нам задана упорядоченная система оснований Pt, Р2, • • • , рп, числовой диапазон которой еР разбит на рп интервалов величиной В качестве второго машинного нуля выберем точку рп+1 тт числового диапазона --------. Числа, расположенные в поддиапазонах Г 0, —) и Г , еР), будем считать числами разных знаков. Условимся для опреде- ленности числа, лежащие в поддиапазоне |~0, или в интервалах с номерами 0, 1,2,..., , считать отрицательными, а числа, лежащие в поддиапазоне —, cP) или в интервалах с номерами , L & Рп / * рп-\-3 1 —, ..., Pn — 1, — положительными. А тогда вопрос об определении знака числа сводится к определению номера интервала, в котором расположено 283
число. Любой из рассмотренных в настоящей главе мето- дов определении номера интервала, в котором расположе- но число, автоматически определяет и его знак, а при использовании метода оценки интервалов знак числа может быть определен уже на этапе определения типа критично- сти числа, поскольку критическое число первого типа всегда находится в интервалах слева от 1 и, следовательно, такое число отрицательное. Напротив, критическое число второго типа находится в интервалах, близких к cP, т. е. справа от , и, следовательно, такое число положи- тельное. Рассмотрим теперь арифметическое сравнение двух чисел. Пусть заданы два числа А и В и требуется опреде- лить, какое из чисел больше. Определим одним из описан- ных выше методов номера интервалов, в которых распо- ложены эти числа. Пусть число А расположено в интервале Д, а число В — в интервале /2. Тогда в случае Д =# /2 операция арифмети- ческого сравнения может быть реализована просто срав- нением номеров интервалов, а именно, если fa > /2, то А > В, а если ]\ < /2, то А < В. Исключение составляет случай /1 = /2. Здесь для определения большего числа требуется определить номер /3 интервала, в котором распо- ложена разность А — В. Если 0< /3< , то разность отрицательна, а отсюда А < В. Если —< /3< рп, то разность положительная и А > В. И, наконец, если А — В = 0, то числа А и В одинаковы по величине и знаку. К немодульным операциям относится также операция перевода чисел из одной системы счисления в другую, чаще всего из десятичной или двоичной в систему остаточных классов и обратно. Перевод из любой позиционной системы в систему остаточных классов не представляет труда. Пусть задано представление числа А в позиционной системе счисления в виде А = апрп + ctn-iP71-1 + ... + а2р2 + (bp + гд& рп — основание системы, а величина удовлетворяет неравенству 0<аг < р, i = 0, 1, 2, . . ., п. Имея набор констант, представленных в остаточных классах и соответ- 284
ствующих числам 0, 1,2, . . рп, можно, вычисляя после- довательно значения щр1 и складывая их в арифметическом устройстве, работающем в системе остаточных классов, получить непозиционное представление числа. Столь же просто производится перевод из системы оста- точных классов в позиционную систему счисления. Пусть в системе оснований р2, . . ., рп задано число А = (аь а2, . . ., ап), представляющее собой числитель правильной дроби, знаменатель которой Ф. Требуется число А представить в виде правильной двоичной дроби, а именно: А = 2 -|- 2 282 -]- • • • ~1~ 2 s8$. Указанное преобразование может быть выполнено сле- дующей последовательностью действий. Первый шаг. Вычисляем сумму А + А = 2А и одновременно вычисляем критерий переполнения Q2A, значение которого и является цифрой старшего разряда двоичного представления числа, т. е. ^2 А = еР Второй шаг. Вычисляем сумму 2А + 2А ~ 4А. Величина критерия переполнения Q4A является цифрой второго после запятой двоичного разряда ^4А — е2* Повторяя этот процесс s раз, получим двоичное представле- ние числа А в виде А = 2-Ч1 + 2-^2+^-+2-3^ где 8f = Q2{A’ i== Ь 2’ ’ ’ ’’ При этом может быть легко написана стандартная про- грамма перевода, основанная на этом методе. Она в основ- ном будет состоять из последовательных суммирований- вычисления критериев переполнения и сдвигов полученных цифр двоичного эквивалента данной дроби. Рассмотрим теперь опросный метод получения двоич- ного эквивалентного числа. Пусть число А = (аь а2, ..., ап) является числителем правильной дроби, знаменатель которой лежит в пределах 2f<^<2i+1. 285
Требуется найти двоичный эквивалент числа А. Предста- вим эквиваленты в остаточных классах двоичных вели- чин 23 2, = (р.<Д •••,Рп)), /=1, 2, .... t. Вычислим разность в остаточных классах А-2‘ = Д«. Определим знак sign At величины Дг. Инверсное значение sign Дг и будет двоичной цифрой старшего разряда двоич- ного эквивалента числа ensign Д,. Далее, из Д( либо из восстановленного при отрица- тельном At числа А вычитаем эквивалент в остаточных классах двоичной величины 2f-1. При этом получаем величину Д<_Р Инверсное значение знака Д^ является следующей цифрой двоичного эквивалента числа А e2 = signAf_1. Аналогично определяются остальные цифры двоичного эквивалента исходного числа. Указанную процедуру можно организовать и без восстановления отрицательного остатка. Для этого наряду с эквивалентами в остаточных классах величин 23 необходимо иметь и эквиваленты допол- нительных к 2’ кодов. В качестве модификации данного метода рассмотрим перевод в двоично-кодированную десятичную систему. Пусть eF лежит в пределах 10s < cP < 10s+1. Возьмем набор 4 (s + 1) констант, являющихся эквивалентами в остаточных классах величин: со*=1О4, с1г = 2-10\ c2i = 22-10\ сз1 = 23-10*, г = 0, 1, 2, ..., s. Вычитаем из А величину c3s. Если разность положитель- на, то c3s определяет старшую тетраду двоичного эквива- 286
лента, если разность отрицательна, из А вычитается c2s. Если разность при этом вычитании положительна, то цифра старшей тетрады определена, в противном случае из А вычитается cls. Если и в этом случае цифра старшей тет- рады не определена, из А вычитается cOs. Продолжая далее этот процесс, получаем двоично-кодированный десятичный эквивалент числа А. Рассмотрим теперь алгоритм округления числа А: А = (аь а2, ..., ап), до г значащих цифр г<п. В позиционной системе с основанием р число А пред- ставится в виде А = б1Рт-1+82pm~z + ... 4- 8т = (6Ь 62.6те). Округление числа Л до г значащих цифр по основанию р заключается в замене цифр 6т, 6т_!, . ,.,6г+1 нулями. Иначе говоря, округленное до г разрядов число А будет иметь в позиционной системе счисления следующий вид: Локр = (^i, б2, ..., 6Г, 0, 0, ..., 0). С арифметической точки зрения это округление есть вычи- тание из Л округляющего числа а, где 4Z = (0, 0, . . ., 0, 6r+i, 6г+2, . . ., 6П). В том случае, когда Л является целым числом, выполнение операции округления заканчивается указанной процедурой. Если же Л является дробным числом, к этой процедуре прибавляется еще и зачеркивание нулей, полученных в концевых разрядах числа. Арифметически это зачеркивание есть не что иное, как деление числа на рт-г. Таким образом, реализация операции округления при- водит к следующей процедуре: 1) выявляется округляющее число а; 2) выявляется разность Л — а; 3) делится Л — а на рт~г. Можно указанный процесс округления выполнять и последовательно, а именно: 1) определить очередную цифру 6г; 2) вычесть 6г из Л; 3) разделить разность Л — 6г на р. 287
Аналогично поступить с полученным результатом после- довательно (л — г) раз. Рассмотрим теперь на базе теории рангов процесс деле- ния на 10 при отсутствии в составе оснований делителей числа 10, т. е. при отсутствии нулевых значений среди цифр делителя, представленного в выбранной системе оснований. Тогда деление может быть произведено пораз- рядно. В тех случаях, когда делимое кратно 10, резуль- тат будет представлять собой точное частное. Рассмотрим, что представляет собой результат в случае, когда делимое не кратно 10. Пусть необходимо разделить число А на 10 и пусть А = 10s + t. Деля поразрядно А на 10, получим 10s + Z + ^ _ а~~ 10 —10 Таким образом t + k& делится на 10. Если принять для простоты такие основания, чтобы последняя цифра cP была равна 1, то в этом случае сумма t + k = 10 или t = 10 — k. Что касается величины k, то это разница в ран- гах числа 10а и фактического делимого, т. е. для получе- ния последней десятичной цифры фактического делимого следует вычислить ранг произведения 10а. Итак, можно определить значение последней цифры десятичного пред- ставления А следующим образом: 1) делим поразрядно делимое на 10; 2) вычисляем ранг частного; 3) вычисляем ранг 10а (и тем самым определяем послед- нюю цифру фактического делимого). Проиллюстрируем приведенный способ определения последней десятичной цифры делимого. Примем систему счисления с основаниями pi =3; р2 = 7; р3 = 11. Диапазон системы определится как — 3-7-11 — 231. Ортогональными базисами будут Bi = 154, В2 = 99, В3 = 210, а их весами соответственно nii = 2, т2 = 3, т3 = 10. Пример. Найти последнюю десятичную цифру числа А = = (2, 0, 8) с рангом гА — 8. Число 10 в выбранной системе счис- ления представится 10 == (1, 3, 10) с рангом г10 = 11. Деля пораз- рядно А на 10, получим а = (2, 0, 3). Легко вычислить ранг чис- ла а: га = 4. Ранг числа 10а определится как Здесь разница рангов числа А и числа 10а равна нулю, откуда следует, что последняя десятичная цифра числа А равна нулю, 288
т. е. А кратно 16, и полученный результат является истинным частным. Действительно А = (2, 0, 8) = 140. Пример. Найти последнюю десятичную цифру числа А -- = (2, 5, 8) с рангом гА = 10 и округлить его на один десятичный разряд. Деля А на 10, получим а ~ (2, 4, 3). Вычислим его ранг — га = 5. Вычисляем ранг г10а —="-[>[>[>« Отсюда к = 10 — 3 = 7, t = 10 — 7 = 3. Последняя цифра деся- тичного представления есть 3 = (0, 3, 3). Вычтя из А число 3, полу- чаем число (2, 5, 8) —(0, 3, 3) = (2, 2, 5), которое при делении на 10 дает (2, 2, 5): (1, 3, 10) = (2, 3, 6) = 17. Тем самым проведено округление числа 173 на один разряд. До сих пор рассматривалось округление числа в оста- точных классах на один десятичный разряд. Однако округ- ление можно вести сразу и на произвольное количество q разрядов. Для этого надо делить исходное число не на 10, а на 109. Рассмотрим пример с округлением на два десятичных разряда. В этом случае за делитель принимается число 102= 100 = (1, 2, 1), с рангом г100 = 2. Пример. Найти последние две десятичные цифры числа А = = (2, 3, 8) с рангом гА=9 и округлить его на два десятичных раз- ряда. Деля поразрядно число А на 100, получим частное а = (2, 3, 8) : (1, 2, 1) = (2, 5, 8). Как легко видеть, его ранг равен га = 10. Вычислим ранг вели- чины 100а ><№.-[=] 10 — 55. Тогда разность рангов фактического и округленного делимых будет k = rA — r100a = 74. Последние 2 цифры вычисляются из тех соображений, чтобы к-231 + t оканчивалось двумя нулями. Если бы основания подби- рались так, чтобы последние 2 цифры составили 01, то t было бы равно 100 — к. В данном случае последние 2 цифры произве- дения 74-231 суть 94 и, следовательно, / = 100 — 94 = 06. Итак, последние 2 цифры А суть 06 = (0, 6, 6). Вычитаем из А число 06 (2, 3, 8) —(0, 6, 6) = (2, 4, 2) и делим результат на 100, т. е. (2, 4, 2) : (1, 2, 1) = (2, 2, 2). Полу- чим частное (2, 2, 2), являющееся округлением числа (2, 3, 8) на 2 десятичных разряда. 19—1365 289
Из изложенного следует, что описанная процедура округления может быть проведена на любое число разрядов. Так как в этом случае проводятся операции над рангами, то целесообразно представлять ранги в той же системе остаточных классов с тем, чтобы все операции проводились единообразно. К немодульным операциям относятся сдвиги мантиссы влево и вправо на q разрядов. В позиционной системе с основанием р сдвиг мантиссы влево производится соответствующим смещением влево кода мантиссы и замещением нулями вновь возникающих справа разрядов. С арифметической точки зрения это озна- чает умножение А на pq. Зная представление числа pq в системе остаточных классов, можно умножением А на это число получить результат, эквивалентный сдвигу на q разрядов в позиционном представлении числа А. Возмож- ность умножения сразу на pq (т. е. знание представления в системе остатков величины pq для любого q) аналогична наличию регистра, сдвигающего код на любое число разрядов. Можно осуществлять умножение на pq последователь- ными умножениями q раз на число р, представленное в си- стеме остаточных классов. Здесь достаточно лишь знать соответствующее представление р. Такой путь аналогичен наличию регистра со сдвигом кода на один разряд. Пример. Основания: pi — 2; р2 — 5; рз = 7; рь = 23. Пусть А = 13 = (1, 3, 6, 13). Требуется сдвинуть число А влево на 2 десятичных разряда, т. е. р^ — 100 = (0, 0, 2, 8); Лсдв = Я-100 — == (1, 3, 6, 13) (0, 0, 2, 8) = (0, 0, 5, 12). Действительно, Лсдв = = (0, 0, 5, 12) = 1300. Используя число 10 = (0, 0, 3, 10) можно ту же операцию выполнить последовательно. Лсдв = (Л-10) 10 = ((1, 3, 6, 13) (0, 0, 3, 10)) (0, 0, 3, 10) = = (0, 0, 4, 15) (0, 0, 3, 10) = (0, 0, 5, 12). Сдвиг мантиссы вправо на q разрядов производится перемещением кода мантиссы на q разрядов вправо с отбра- сыванием цифр младших q разрядов и замещением нулями вновь возникающих слева q разрядов. Арифметическое содержание этой операции состоит в вычитании числа, образованного младшими q разрядами и делением полученной разности на 10д. В заключение рассмотрим алгоритм выполнения часто встречаемой операции деления числа А на одно из основа- ний pi системы оснований. 290
В случае деления числа А на основание pi9 когда мини- мальный след делимого неизвестен, определение его методом нулевизации может быть совмещено с определением цифры д частного — по основанию Pi. Pi к Пусть в системе оснований р^ р2, ..., рп задано число А = (аь а2, ..o&f-i, О, аж, ..ап), частное от деления которого на основание pi суть — =(уь у2, • ••,Y™)- rl Пусть Afai = (ai, сс2\ •••, a|-i, 0, а^, ..., а^) наименьшее из чисел, делящихся на pi и имеющих цифру cq по основанию р^. Через ЛГа2 = (0, а2, а(32), a^lt 0, а^, а®), обозначим наименьшее из чисел, делящихся на рх и pi, у которого а2 —цифра по основанию р2 и так далее вплоть до Л1ап = (0, 0, ...,0, ап). Обозначим через у?* Ма. цифру по основанию pt числа —-, (/’ = 1, 2, ..., л). Pi Тогда, проводя в процессе нулевизации суммирование цифр уФ ПО модулю Pi, получим искомую цифру У;. Разумеется, можно аналогичным путем получить цифру уг и при парной нулевизации. Пусть теперь нам надо число А разделить на произведе- ние оснований pit pi2 . . . pik = Р. Можно провести парал- лельно деление на каждое из pt (q = 1, 2, . . ., k) и объ- единить результаты деления на основании леммы о делении на произведение чисел. Однако возможен и другой путь, кото- рый целесообразен, когда состав оснований, входящих в Р, фиксирован, что имеет место, например, при округлении. В этом случае процесс деления на Р может состоять из двух этапов: 1-й этап — приведение числа А к виду, деля- щемуся на Р, т. е. нулевизация цифр по основаниям piv pt....... pik; 2-й этап — определение цифр частного А': Р по основаниям, входящим в Р, нулевизацией цифр по основаниям, не входящим в Р. Остальные цифры А' : Р получаются поразрядным формальным делением. Рассмотрим выполнение этих этапов. 1 -й этап осуществляется на основе нулевизации числа А минимальными числами вида: 19* 291
Maii = (a(iu), * ♦ •, • • • > оспг1)) —- наименьшее число, имеющее цифру ah по основанию pi±; ... Ма. = (а<^>, а(2^\ ..., 0, ..., aiq, ..., а^) — наимень- шее из чисел, имеющих цифру aiq по основанию piq и крат- ных произведению piv Pi2, ..., В результате выполнения этого этапа, организованного нулевизацией по одному разряду или в один прием по два разряда, получается число Л' = (РЬ ₽2, ...,0, ...,0, ...,₽п), имеющее нули по основаниям, входящим в Р, и наименее отличающееся от А из всех чисел этого вида. 2-й этап осуществляется нулевизацией числа Д' мини- мальными числами следующего вида: = (Рь р^, ..., О, ..., О, ..., Рп^) — наименьшее из чисел, кратных Р, имеющих цифру Pt по основанию рх и т. д. вплоть до М$п = (0,0, ..., 0, ..., Р^) — наименьшего п— 1 из чисел, кратных [J pi, имеющих цифру рл по основа- i=i НИЮ рп- __ Каждому числу М$, соответствует Г7- = (у(р, ...,у^) число, представляющее собой цифры по основаниям, вхо- __ дящим - в Р, частного . В результате выполнения этого этапа с нулевизацией цифр по основаниям, не входящим в Р, с помощью соот- ветствующих чисел производится суммирование чи- сел Г;, которое дает в результате Г = (у^, yi2, ..• , Yia) — число, образованное искомыми цифрами частного по основаниям р^, Рг2, ...,РгА- Что касается остальных Л' цифр , то они, как уже указывалось, образуются фор- мальным поразрядным делением соответствующих цифр Д' на цифры Р. Заметим, что этот второй этап по существу представляет собой разновидность процесса расширения системы осно- 292
ваний, т. е. определения по цифрам числа по некоторым заданным основаниям значений его цифр по каким-либо другим основаниям. Рассмотрим применение данного метода на конкретном примере. Пусть задана система оснований: Р1 = 3, р2 = 5, Рз = 7, р4=11, р5=13 с диапазоном Ф —15015. В качестве делителя выберем произведение оснований р3р4, т. е. р==р3р4=7.Ц=77=(2, 2, 0, 0,12). Минимальные числа, необходимые для нулевизации по основаниям Рз и р4, суть: М31 = (1, 1, 1, 1, 1) Л432 = (2, 2, 2, 2, 2) М33 = (0, 3, 3, 3, 3) М34=(1, 4, 4, 4, 4) М35 = (2, 0, 5, 5, 5) М36 = (0, 1, 6, 6, 6) М41 = (2, 1, 0, 1, 4) М42=(2, 0, 0, 2, 9) Л443 = (2, 2, 0, 3, 1) М44 = (1, 0, 0. 4, 5) М45 = (1, 4, 0, 5, 10) М4б = (1, 3, 0, 6, 2) М47 = (1,2, 0, 7,7) М48 = (0, 3, 0, 8, 11) М49 = (0, 2, 0, 9, 3) ЛТ410 = (0, 1, о, 10, 8) Минимальные числа, необходимые для проведения второго этапа суть: ^ = (1, 4, 0, 0, 11), при этом Гп = (2, 2) Л412 = (2, 2, 0, 0, 12) Г)2= (1, 1) Л421 = (0, 1, 0, 0, 10) Г21 =(3,3) М22 = (0, 2, 0, 0, 7) г22-=(6, 6) Л423 =(0, 3, 0, 0, 4) Г23 = (2, 9) Л424 = (0, 4, 0, 0, 1) Г24 = (5, 1) Л451 = (0, 0, 0, 0, 1) Г51 = (6, 2) Л462=(0, 0, 0, 0, 2) Г52=(2, 4) Л453= (0, 0, 0, 0, 3) Г53 = (5, 9) Л454=(0, 0, 0, 0, 4) Г54 = (4, 0) Л455 = (0, 0, 0, 0, 5) Г63 = (4, 5) М56 = (0, 0, 0, 0, 6) Г50 = (3, 7) Л157= (0, 0, 0, 0, 7) Г67 = (3, 1) М38 = (0, °- °- °, 8) Г58 = (2,3) Л459= (0, 0, 0, 0, 9) Г69 = (2, 8) М510=(0, 0, 0, 0, 10) Г510 = (1, Ю) М511 = (0, о, 0, 0, 11) г511 = (1, 4) Л1512=(0, 0, 0, 0, 12) г512=(0,6) 293
Пример. Разделить число А — (2, 1, 2, 3, 2) на произведение оснований Р = р3р4~77. 1-й этап. Проведем нулевизацию цифр по основаниям р3 и р4. Нулевизации цифры по основанию р3 = 7: Л3 = Л-М32 = (2, 1, 2, 3, 2) —(2, 2, 2, 2, 2) = (0, 4, 0, 1, 0). Нулевизации цифры по основанию р4= 11: Л' = Л3-М41 = (0, 4, 0, 1, 0) — (2, 1, 0, 1, 4) = (1, 3,0, 0, 9). В результате получено число Л', кратное Р. 2-й этап. Получение цифр частного Л' = (1, 3, 0, 0, 9) р “ (2, 2, 0, 0, 12) ’ Прежде всего укажем цифры частного по основаниям, не входя- щим в Р: Yi = у (mod 3) = 2, з Y2=y (mod 5) = 4, Y5 = y7> (mod 13) =4. Нулевизируем цифру по основанию pt = 3: Л1 = Л' — Л4ц = (1, 3, 0, 0, 9) —(1, 4, 0, 0, 11) = (0, 4, 0, 0, 11), Г1 = Гц=(2, 2). Нулевизируем цифру по основанию рг = 5: X2 = ^—А424 = (0, 4, 0, 0, 11) —(0, 4, 0, 0, 1) = (0, 0, 0, 0, 10), Г2 = Г1 + Г24=(2, 2) + (5, 1) = (0, 3). Нулевизируем цифру по основанию р5=13: ^5 — ^2—MSio = О, Г5 = Г2+Г510 = (0, 3) + (1, 10) = (1, 2). Окончательное частное (2, 2, О, О, 12)
ГЛАВА КОМПОНЕНТЫ ВЫЧИСЛИТЕЛЬНЫХ МАШИН В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ § 6.1. СУММАТОРЫ ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ В позиционной системе счисления выполнение арифме- тической операции предполагает последовательную обра- ботку разрядов операндов по правилам, определяемым содержанием данной операции, и не может быть закончено до тех пор, пока не будут определены последовательно зна- чения всех разрядов результата с учетом всех связей между разрядами. В системе остаточных классов каждый из разрядов числа обрабатывается независимо и время выполнения всей опе- рации определяется временем, необходимым для получе- ния результата по наибольшему основанию. Рассмотрим методику построения сумматоров, работаю- щих по произвольно заданному модулю, выполненных на элементах с двумя устойчивыми состояниями. Приме- нение полученных результатов к элементам, имеющим более двух устойчивых состояний, может только упростить схемную реализацию рассматриваемых устройств. Лемма 6.1, Через любое поперечное сечение сумматора в процессе сложения двух чисел в обобщенной позиционной системе счисления не может пройти больше одного переноса. Определение. Модулем сумматора будем называть минимальное, отаичное от нуля число 44, прибав- 295
ление (или вычитание) которого к содержимому сумматора не меняет его величины, т. е. А±М=А, (6.1) где А — содержимое сумматора. Укажем ряд основных свойств модуля сумматора. Свойство 1. В сумматоре с модулем М результат суммы не может превышать модуля сумматора. Действительно, пусть результат суммы двух чисел А и В превышает модуль 7W, т. е. А + В > /И. Тогда результат суммы может быть представлен в виде А + В = С + 7И, где С < Л4, или в соответствии с (6.1) получим А + В — - С<М. Свойство 2. Если М — модуль сумматора, a k — произвольное целое число, то А + kM = Л. Действитель- но по (6.1) Д±Ш = Д±Л4±Л4±... ±М = А. h Свойство 3. Модуль сумматора является его вто- рым нулем. Утверждение следует из определения модуля сумматора. Свойство 4. Сумматор обратного кода, работаю- щий в полиадической позиционной системе счисления с основаниями ль л2, . . ., л*, имеет модуль М, равный М = • • • л* — 1. (6.2) Действительно, прибавление к содержимому сумматора величины ль л2 • • • nk эквивалентно выдаче единицы в цепь обратной связи без изменения содержимого сум- матора. Свойство 5. Модуль сумматора обратного кода, работающего в полиадической позиционной системе счисле- ния с основаниями ль л2, . . ., л*, представляет собой число, цифры которого по каждому из оснований щ равны л^ — 1 (f = 1, 2, . . ., k). Для обоснования этого утверждения рассмотрим число В, записанное в полиадической позиционной системе счис- ления в виде В = (&!, а2, ..., сед). Его величина В = 0&1Л2Л3 . . - яh + • • • + 296
В случае, если цифры рассматриваемого числа равны nt — 1, получим В — — 1) Л2 ... . *4” зтд — 1 = Л1. В частности, для двоичной системы счисления, где = л2 = ... = = 2, получаем M = 2h - 1 =(1, 1, 1, 1); для троичной системы счисления = п2 — ... = = 3 Л4 = 3/г — 1 =(2, 2, ..., 2, 2) и, наконец, для десятичной системы счисления М= 10^- 1 = (9, 9, . ..,9, 9). Таким образом, двоичные, троичные и десятичные сумма- торы имеют фиксированную величину модуля: 2k — 1, 3k — 1, 10fe — 1, что исключает возможность произвольного задания модуля и обусловливает следующую последова- тельность выполнения операции сложения: а) образование на сумматоре суммы а + Р; б) сравнение суммы а + р с величиной основания в) коррекция суммы вычитанием pit если имеет место соотношение а 4- $>Pt- Последовательность действий подобного типа обычно реализуется в арифметических устройствах, предназна- ченных для работы в десятичной системе счисления, но построенных на базе двоичных элементов. Возможен вариант убыстрения операции сложения за счет удвоения оборудования. В этом варианте суммирова- ние двух остатков аир производится на двух сумматорах одновременно: на одном выполняется действие а + р, па втором а -|- Р — p-L. В случае, когда на втором сумматоре результат полу- чается положительным (рассматривается суммирование двух положительных остатков), он принимается за истинный; если результат получается отрицательным, то за истинный принимается результат, полученный в первом сумматоре. Если модуль сумматора отличается от основания системы па небольшую величину, коррекция результата может быть несколько упрощена. Рассмотрим возможные ситуации при суммировании двух положительных чисел аир. 297
Случай 1. Модуль сумматора превышает на одну еди- ницу соответствующее основание pt системы, т. е. М = = Pi + 1- При этом возможны следующие соотношения между результатом сложения и величиной основания системы: а) если а + р < то коррекции не требуется; б) если а + р == pi, то содержимое сумматора гасится; в) если а + р = М, то при наличии отрицательного нуля сумматора устанавливается единица в младший раз- ряд сумматора с одновременным гашением остальных раз- рядов; г) если а + р > М, то результат операции С окажется равным С = а + р — Л4 = а + Р~р^—1=а + Р—1 (mod рг), т. е. получается меньше истинного на единицу. В этом слу- чае в сумматоре цепь переноса с выхода старшего разряда переключается на вход второго разряда сумматора. Случай 2. Модуль сумматора М на одну единицу мень- ше соответствующего основания pi системы, т. е. M = Pi-L При этом возникает необходимость в коррекциях сле- дующего характера: а) если а + р < pit то коррекции не требуется; б) если а + р — pi, то получаем результат, равный +1, с предварительной выдачей переноса из старшего разряда. Содержимое сумматора гасится; в) если а + р = 7И, то цепь анализа на отрицательный ноль сумматора гасит содержимое с одновременным зане- сением в сумматор —1; г) если а + Р > Pi, то получаем результат операции сложения С в виде С = а + р — Л1 = а + р + 1 (mod pi), т. е. получаем результат больше истинного на единицу. Сумматор в рассматриваемом случае может быть выполнен с разомкнутой цепью переноса со старшего разряда. Таким образом, если модуль сумматора и основание системы разнятся на единицу, коррекция результата может быть осуществлена относительно просто. Заметное усложнение коррекции при отличии модуля сумматора от основания pt уже на две единицы, вынуждает 298
нас искать новые методы построения суммирующих устройств, а именно в направлении новой организации межразрядных связей. Пусть сумматор состоит из п двоичных разрядов, обо- значаемых соответственно через п, г2, • • •> по мере возрастания старшинства разрядов. Условимся, что вход каждого разряда сумматора будет обозначаться индексом i, а выход — индексом /. Обозначим через Xtj связь между выходом г; разряда со входом rt разряда сумматора. Таким образом, наличие связи обеспечивает связь по переносу rj разряда не только с r/+i, но и с rt разрядом. Рассмотрим, Рис. 6.1. Блок-схема сумматора с дополни- тельными связями. какие из связей Х^ должны иметь место, чтобы п-разрядный двоичный сумматор работал по модулю pif т. е. чтобы выпол- нялось условие М — pt. Блок-схема сумматора представ- лена на рис. 6.1. Пусть величина основания pt задана в виде pi = 2n~1sn + 2n~2sn-i 2s2 + где $* = 0, 1, k = 1, 2, ..., n. Если содержимое сумматора GL имеет вид Gl = 2n~1ln + 2n~2ln_l + ... + 2Z2 + /15 где = 1, k= 1, 2, ..., n, то условие равенства модуля сумматора основанию pi по (6.1) запишется в виде + Si Ci-i + Xi j = li, <-l, 2.......n, <6-3’ 299
где через Ct обозначен перенос из t-го в i-\- 1-й разряд сумматора или Si — Cf-j i = 1, 2, ..., и. (6.4) На базе соотношения (6.4) может быть сформулирована следующая лемма. Лемма 6.2. В «поразрядном сумматоре обратного кода R Ол, /*2, • • •> гп), работающем по заданному модулю М — 2n~1sn + ... + 2s2 + Si, дополнительная связь Хц может иметь место лишь в разрядах riy соответствующих нулевым значениям в разрядах, соответствующих еди- ничным значениям sz, дополнительные связи должны отсут- ствовать. Определение. Весом разряда r-L сумматора называет- ся величина, определяющая, на сколько изменяется число- вое значение содержимого сумматора при изменении цифры данного разряда на одну единицу. Приведенная выше запись = 2п~11п + • • • + 2/2 + h содержимого сумматора при наличии дополнительных свя- зей может использоваться лишь как символическое указа- ние содержимого двоичных разрядов сумматора, но уже не определяет величину числа L, поскольку введение допол- нительных связей Xtj изменяет веса отдельных разрядов rit охватываемых этими связями, и величину всего числа L. На вопрос о влиянии одной дополнительной связи Хи на величину содержимого сумматора отвечает следующая теорема. Теорема 6.1. Число L = (/ь /2, • • •> 4), описывающее содержимое двоичного сумматора обратного кода R = = (г±, г2, . . ., гп), при введении одной дополнительной связи между выходом /-го разряда и входом f-ro разряда, уменьшается на величину АОг,----2^-3 3 /го2"‘. (6.5) 1 Действительно, обозначив вес /n-го разряда сумматора через gm, получим, что при отсутствии дополнительных связей величина GL числа L, представленного на двоичном 300
сумматоре, будет ^mgm, ТП—1 где lm — число единиц, содержащихся в m-м разряде. Введение дополнительных связей переводит систему счисления рассматриваемого сумматора из двоичной в поли- адическую, основания которой определяются характером связей. Если основания полиадической позиционной систе- мы суть л2, . . ., и расположены в порядке возраста- ния, то единица m-го разряда числа L = (/ь /2, • • •, 4), представленного в этой системе имеет вес тп—1 gm~ 3 • t=l Отсюда величина числа L определяется как k тп—1 Ql — 3 П 7П=1 t=l Пусть имеет место одна дополнительная связь Хц, соеди- няющая выход /-го разряда со входом z-ro разряда, т. е. объединяющая разряды с номерами z, i + 1, . . ., /в еди- ный разряд, работающий по основанию Тогда вес каж- дого разряда с номером / и менее, будет определен как __ a m-i gm — , m = 1, 2, ..., /. Вес разряда с номером / + 1 и более будет опреде- лен как gm = 2и1лм2т-/-' = 2”l+i-/-2«M, m = j-\- 1, ..п. Как легко видеть л^ = 2)_’+1 —1, откуда £т = 2™-' -2е, где 0 = m + i — j — 2, 301
или в общем виде для любого разряда сумматора g-m = 2m-1 — 2e6mj, где {О, если /п</, 1, если т > j, откуда величина GL определится как § /т29. m=i В то же время при отсутствии дополнительной связи величина GL числа L равна Gl= § /m2m->, m—i т. е. при одном и том же кодировании числа L, его вели- чина за счет введения одной дополнительной связи Xi уменьшается на величину АСь= S /т2е = 2i-3~2 3 Zm2ra, 7n=J4-l 1И=>4-1 что и составляет утверждение теоремы. Рассмотрим некоторые следствия этой теоремы. Следствие 1. Величина числа L не изменится, если дополнительная связь взята с выхода старшего раз- ряда сумматора. Действительно, при j = п получим AGl = 0. Следствие 2. Число L = (/ь Z2> . . 1п), описывающее содержимое n-разрядного сумматора обратного кода с одной дополнительной связью может принимать не более и + i — j различных числовых значений, соответствующих и + i — j возможным конструкциям сумматора, соответ- ствующим заданному модулю. Действительно, наличие одной дополнительной связи указывает на то, что группа из (/ — i + 1)-го разрядов работает по модулю Лц — 23~г+1 — 1. Остальные п — j + + i — 1 разряды равноправны между собой. При пере- становке любого из этих разрядов с группой, работающей по модулю Л;;, модуль сумматора не меняется, так как он равен M = Jri;2n-’’+i-1-l 302
и не заййсйт от взаимного расположения разрядов. Всего возможных положений группы, работающей по модулю по отношению к другим разрядам, может быть п — j + Ь i — 1. В каждой конструкции сумматора число L, опи- сывающее его содержимое, будет в общем случае принимать новое числовое значение, определяемое местоположением /-го разряда. Проиллюстрируем сказанное на примере. Пример. Рассмотрим четырехразрядный сумматор по модулю /И = И. Введем дополнительную связь Х34 между выходом чет- вертого и входом третьего разряда. Вариант 1. j = 4, i = 3, n = 4, = 22 — 1 = 3, модуль сумматора Л4 = зт^ 22 — 1 = 11. Блок-схема сумматора представлена на рис. 6.2. Пусть на сумматоре записано число L = (1, 0, 1, 0), которое для рассматриваемой конструкции имеет величину GL = 10, совпа- дающую с его величиной в двоичной системе счисления, поскольку Рис. 6.2. Блок-схема сумматора по модулю 11 с Дбь = 0. выполнено условие j = п. Рассмотрим остальные возможные кон- струкции сумматора, работающие по тому же модулю М = 11. Вариант 2. j = 3, i = 2. См. рис. 6.3. Здесь величина числа равна GL = 8, поскольку &GL = 2. Вариант 3. j = 2, i = 1. См. рис. 6.4. Здесь получаем AGl = 2, т. е. Gl — 8; совпадение величины числа во втором Рис. 6.3. Блок-схема сумматора по модулю 11 с АСЬ = 2. и третьем вариантах конструкций сумматора объясняется тем, что в заданном числе L приняли Z3 = 0, а тогда AGL в обоих вариан- тах получается одинаковым. Таким образом, хотя число L задано для всех случаев в одной и той же форме, оно принимает различ- ные числовые значения в зависимости от расположения группы, охваченной дополнительной связью. 303
Следствие 3. Модуль сумматора при введении одной дополнительной связи уменьшается на величину ДМ = 2и>~2 § szn2,H, где stli — значение т-го разряда числа, описывающего значение модуля. Соответственно на ту же величину умень- шается диапазон представимых на сумматоре чисел. Рис. 6.4. Блок-схема сумматора по модулю 11 с = 2. Определение. Под независимыми дополни- тельными связями будем понимать такие допол- нительные связи, каждая из которых охватывает группу разрядов сумматора, не охваченных никакой другой допол- нительной связью, т. е. дополнительные связи и Хт,п будем называть независимыми, если выполняются следую- щие условия: i или (6.6) m > /. Для случая, когда на сумматоре введено $ независимых дополнительных связей, может быть сформулирована сле- дующая теорема. Теорема 6.2. Число L = (lif 12, . . /п), описывающее содержимое n-разрядного двоичного сумматора обратного кода, при введении $ дополнительных независимых свя- зей между выходами разрядов с индексом jt и входами раз- рядов с индексом itf где t= 1, 2, . . ., s, уменьшается на величину AGl, где s t AGl=S 3 Im 3 (-l)p+*X t=i ?n=^+l p=l ' e3+e„. .+e9-(p-D(m-i) X S 2’1 ’2 p . (6.7) «Г«2- ...,4p=i 304
Здесь Qq = m + iq — jq — 2, js+i = n. Доказательство. Для разрядов с номерами т, удовле- творяющих условию 1 < т < Д, вес определяется как ГТ ------------------------- ОШ—1 gm — Для разрядов, у которых /1 + 1 < ^</*2, вес равен ^т = 2"‘-1-2% 01 = k -j- i i — j — 2. Для разрядов, номера которых /2 + 1 < т < /з» вес определится как gm = 2т~1 201 202 | 201+02”(тп~1) Для разрядов, у которых /з+Кт</4, как легко видеть, вес равен gm = 2т-1- 201 - 202 - 203 + + Продолжая этот процесс для разрядов, номера которых удовлетворяют условию получим значение веса _ П7П-1 gm — + 201+03“(гп“1)4- ... — _ (201+02+0з-2(т-1) 20^_2+0/-1+01-2(гп-1) ... + (_ 1)Р(201+02+’ ‘ + + 20^р+1+...+0Нр-1)(^1))+. 201+02+ • • 0j = k -f- it — jt — и т. д. 20—1365 305
Учитывая, что вес числа на сумматоре без дополни- тельных связей определяется как Gl = S 1т2т-\ (6.8) 771=1 получим уменьшение величины числа AGb, совпадающее с (6.7). Пример. Заданы две дополнительные связи Xil,h И Х<2,32’ П₽ИЧеМ /2 = «• В этом случае AGl= 3 ^20i, где = /п-[- —2. Для пятиразрядного сумматора, работающего по модулю /И = 17, имеем /1 = 2, /1 = 3, ]% = П = 5. Блок-схема сумматора представлена на рис. 6.5. В соответствии Рис. 6.5. Блок-схема сумматора по модулю 17 с Д6Ь = 2/4 + 4/5. с (6.7) получим AGL = 2/4 + 4/5. Пример. Заданы три независимые дополнительные связи на семи- разрядном сумматоре, причем /3 = л. В соответствии с (6.7) имеем J2 п \GL = 2 U261+ 3 /m(29l + 202-201+02-(m-1)). m=j2+l На рис. 6.6 представлена блок-схема сумматора, работающего по модулю М = 53. Здесь — 2, /1 = 3, z2 = 4, /2 = 5, /3 = 6, /3 = п = 7, 01 =/тг—3, 02 = /п—3. Тогда 5 7 AGl= 2 'm2m-3+2 /m(2m-2-2’"-6) = 2/4+4/5 + 14/e+28/7. m= 4 m=6 306
Не лишена интереса конструкция сумматора с зависи- мыми дополнительными связями, одна из которых охва- тывает другую. Теорема 6.3. Число L = (/2, /2, •••, 40, описывающее содер- жимое n-разрядного двоичного сумматора обратного кода, Рис. 6.6. Блок-схема сумматора по модулю 53 с Дбь = 2/4 + 4/б + + 14/б 28/7. при введении двух дополнительных связей Х^, Xi2j2, удовлетворяющих условиям 4^*2, Л >/2, уменьшается на величину Д6ъ= 3 W02+ 3 W01, (6.9) тп=;2+1 т=Я-Н где 0г =m + it — jt — 2, f=l, 2. Доказательство. Для разрядов с номерами т, лежа- щими в пределах /2 <m<ju получим gm = 2m~1 — 262. Для разрядов с номерами веса имеют значения gm = 2m-L-26*-2ei. Отсюда, учитывая (6.8), получим Л п AGb= 2 /пг202+ 3 М202 + 291) = т=;*2+1 m=ji п п = 3 /т202+ 3 U201, Ш=;24-1 т=л4-1 что совпадает с (6.9). 20* 307
Следствие. Если связь Х^ подключена к старшему разряду сумматора, т. е. Л = то AGL = 3 /т202. Tn=j2-M Рассмотрим случай трех дополнительных связей, каж- дая из которых включена в последующую. Теорема 6.4. Число L = (Zb Z2, ..., Zn), описывающее содержимое двоичного сумматора обратного кода, при введении трех дополнительных связей Х^ Хг2;2, ^*з)з» удовлетворяющих условиям ^2^ ^3? /1 > /*2 > /з> уменьшается на величину AGt = 3 /т201+ § /т202+ 3 1т263. (6.10) т=Я-|-1 m=j2-J-l т=зз-{-1 Доказательство. Для 1<т</3 имеем gm — 2m~1, для /3<т</2 получим gm = 2m~1 — 203. Если ]г<т^.]1, то ^пг = 202 (203- 02 (з”1-1-03— 1)— l) = 2m-1 — 202 — 203, и, наконец, для ]\<Zm^n имеет место gm = 2т~1 - 201 - 2 02 - 203, откуда для AGb получаем 52 Л М AGl= 3 /т203+ 2 /т(202 + 203) + тп=^з-|-1 m=;2+l + 3 ZTO (20i 4-202 ч- 203), 771=^4-1 что совпадает с (6.10). Учитывая однотипность доказательств, можно сформу- лировать общую теорему. Теорема 6.5. Число Ь = (1Ъ l2l ..1п), описывающее содержание двоичного сумматора обратного кода, при 308
введении s дополнительных связей Xijv Xi2j2, ..., Xisjs. удовлетворяющих условию Н < 1*2 < is, /2>/«> уменьшается на величину п п п \Gl= 3 /т261+ 3 /т2024-... + У /m203. т=л4-1 m=j2+l w=^4-t (6.Н) Теорема доказывается аналогично предыдущим. Пример. Найти коррекцию величины числа ДС^, если связи Xwi’ XW2’ Х*зк Удовлетворяют условиям *2 > Ч» /1 > /2» /з > /1- Сначала найдем распределение весов разрядов: для 1 т /2 для /2 < tn < ji для /i < т < /з Для /3< tn п ^zn = 2rn“1; gro = 2m-i—201 —20г; gm = 2т"г — 201 — 2°2 — 203 + 202+03-f m~j} 4- _|_201+0з-“(т-1). Откуда /т2е‘+ 3 /т203 + 2 /т203 — m=j24-l ?n=j34-l - 3 /та (2014-20!!)203-<’п-1). Пример. Найти коррекцию величины числа Дбь, если связи Х>13Г Xi2J2’ Xi3J3 удовлетворяют условиям 11 < «2> h 121 ii 1з1 т. е. связь X: • охватывает независимые между собой связи X- • ^252- Найдем распределение весов разрядов: для 1 <; т /2 ДЛЯ /2 < /П < /з для j3 < т < /4 для < т п gm = 2m~^; gm = 2”»-i-202; gm ==2т~1___202___203 + ъ^+йз-Лтп-1). gm _-27И-1__201___2®2__ 203 | 202+08~ 309
откуда Д<?ь= 3 1т2в1+ 3 lm2^+ § Zm203- ra=Ji+l m=j2+l га=;з4-1 - 3 1т2^+^т-'\ гаМз+1 Пример. Найти коррекцию величины числа ДС^, если связи Xiih’ XW2’ Х«ззз’ Х1ш Удовлетворяют условиям: z2 It /2» *3 > /1» z4 /з> т. е. связи Xigj3 и ^i4j4 независимы, а связь Xi -х охватывает связь ^г232 • Найдем распределение весов разрядов: для 1 < т < /2 Для /2 < т < 11 j3 для /з < т < j4 для ]\ < т п gm = 2m-l-24 йгго=2™-1-2в1-202; gm = 2m-1 —201—202 — 203 + 201+03-(m~1 >+ _|_202+03“(w"‘1); gm _ 2тп-1__201_202__203___204-]-201'^2 3“(rn'“1) । 202+03—(m—1) । 2®1+04—(m—1) 202+04—(w~ 1) 20з+О4—(w— 1)_ __201+03+04“ 2(ra— 1)_202+03+04— 2(m— 1) откуда A<?L= 3 lm261+ J /m203+ § Zm203 + ra=;i+l w=j2+l га=;з+1 n n + 3 lm2&i+ J + ra=Ji+l тт1=2з+1 2 /т2вз+03-<т-1>+ 2 ^(201+04-(”l-1) + га=;з+1 ?п=я+1 202+04—(га— 1) । 20з+О4—(га— 1)_ _ 201+Оз+04- 2(m-1) _ 2О2+0з+04-2(га-1)}, 3|0
§ 6.2. ТИПЫ СУММАТОРОВ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ Почти для каждого основания могут быть предложены различные конструкции сумматоров, отличающиеся харак- тером дополнительных связей, а стало быть, и величиной коррекции AGL. Рассмотрим сумматоры с М *< 100, Рис. 6.7. Блок-схема сумматора по модулю 3. причем для каждого из них с целью уменьшения избы- точности будем выбирать такую конструкцию, у которой AGb было бы минимальным. Сумматор по основанию р = 3. Блок-схема сумматора изображена на рис. 6.7. Основание системы Рис. 6.8. Блок-схема сумматора по модулю 5. р = 22 — 1=3 реализуется на двоичном сумматоре без избыточности. Дополнительных связей не требуется Х^ = 0. Соответственно, AGL = 0. Сумматор по основанию р = 5. Блок-схема сумматора представлена на рис. 6.8. Использование допол- нительной связи Хц, где f = 2, j = 3 позволяет получить AGl = 0. При этом модуль сумматора определится как 44 = 31^2--1 = 5, поскольку здесь Л1 = 2, а л2 = 22 — 1 = 3. Сумматор по основанию р — 7. Блок-схема сумматора представлена на рис. 6.9. Используется обычный 311
трехразрядный двоичный сумматор, так как основание системы р = 23 — 1=7 на двоичном сумматоре реали- Рис. 6.9. Блок-схема сумматора по модулю 7. зуется без избыточности. При этом, естественно, = О, AGl = 0. Сумматор по основанию р = 11. Блок-схема сумматора приведена на рис. 6.10. Использование допол- Рис. 6.10. Блок-схема сумматора по модулю 11. нительной связи Хи, где i = 3, j = 4, позволяет получить ДОЬ = 0. При этом модуль сумматора определится как М = Л ^2^3 —1 = 11, где л1 = л2 = 2; л3 = 22 — 1=3. Сумматор по о с н о в а н и ю р= 13. Блок-схема сумматора изображена на рис. 6.11. Вводится дополнитель- Рис. 6.11. Блок-схема сумматора по модулю 13. ная связь Xih где i = 2, j = 4. При этом ДОЬ = 0. Модуль сумматора М = —1 = 13, где = 2; тс2 = 23 — 1 = 7. 312
Сумматор по основанию р = 17. Блок-схема сумматора представлена на рис. 6.12. Здесь введены дополнительные связи где ]\ = ]2 = ]3 = п\ ц = 2; Z2 = 3; r3 = 4; AGL = 0. Модуль сумматора определяется как Л1 = {(^Лз — 1) тс2 — 1} — 1 - Здесь л4 = 22—1=3; л1 = л2 = л3 = 2. Если бы основным критерием выбора конструкции сум- матора было бы стремление к уменьшению числа связей, то Рис. 6.12. Блок-схема сумматора по модулю 17. целесообразно применить схему, изображенную на рис. 6.13. Здесь введены две дополнительные связи: Х^; Х{2]-2, где Рис. 6.13. Блок-схема сумматора по модулю 17. 1\ = 2; Л = 3; «2 = 4; /2 = 5. При этом AGb = 4. Модуль сумматора определяется величиной М = л1л2л3 — 1 = 17, где л( = 2; л2 = л3 = 22—1=3. Сумматор по основанию р=19. Блок-схема сумматора представлена на рис. 6.14. Введены дополни- тельные связи Xi1j1, X,2j2, у которых /1 = /2 = 5, ч = 3, i2 = 4, благодаря чему AGL = 0. Модуль сумматора опре- делится как М = (л4л3 — 1) Л2Л1— 1 = 19, где л4 = 22—1=3; л4 = л2 = л3 = 2. 313
Сумматор по основанию р = 23. Блок-схема сумматора приведена на рис. 6.15. Вводится дополнительная Рис. 6.14. Блок-схема сумматора по модулю 19. связь Xij, где i — 4, j = 5, вследствие чего получаем AGL = 0 и модуль сумматора М = — 1 = 23. Здесь = 3 ; it। = зт2 3T3= 2. Сумматор по основанию р = 29. Блок-схема сумматора приведена на рис. 6.16. Введена дополнительная Рис. 6.15. Блок-схема сумматора по модулю 23. связь Xij, где i = 2, j = 5, благодаря чему AGL = 0 и модуль сумматора М = — 1 =29, где л2 = 24— 1 = 15; ^ = 2. Сумматор по о с н о в а н и ю р = 31. Блок-схема сумматора изображена на рис. 6.17. Двоичный пятираз- Рис. 6.16. Блок-схема сумматора по модулю 29. рядный сумматор с обратной связью работает по модулю М = 2б — 1 = 31 с коррекцией AGL = 0. 314
Сумматор по основанию р = 37. Блок-схема сумматора представлена на рис. 6.18. Сумматор может Рис. 6.17. Блок-схема сумматора по модулю 31. быть выполнен дополнением одного двоичного разряда к сумматору, работающему по модулю 19, и включением Рис. 6.18. Блок-схема сумматора по модулю 37. обратной связи. Тогда модуль сумматора определится как М ~ rti л2 —1=37, где л2=19; ^ = 2; Д0ь = 0. Сумматор по основанию р = 41. Блок-схема сумматора приведена на рис. 6.19. Введены дополнитель- Рис. 6.19. Блок-схема сумматора по модулю 41. ные связи Xiljv Xi2j2, Xi3j3, причем /1 = /2 = /3 = 6, 4 = 2, «2 = 3, г'з = 5. Вследствие чего AGL = 0 и модуль сумматора Л4 = ((n5jt4n3 — 1) л2 — 1) я« — 1 = 41 при jtjj = 3, jtj= л3 = Лз- л4 — 2. 315
Сумматор по основанию р = 43. Блок-схема сумматора представлена на рис. 6.20. Вводятся дополни- Рис. 6.20. Блок-схема сумматора по модулю 43. тельные связи и Xi2j2, где ji = j2 = 6; /^З; z2 = 5. При этом модуль сумматора равен М = (л5л4л3 — 1) л2^1 —1=43, где л5 = 22 — 1 = 3; лА = л2 = л3 = л4 = 2. Сумматор по о с н о в а н и ю р = 47. Блок-схема сумматора представлена на рис. 6.21. Дополнительная Рис. 6.21. Блок-схема сумматора по модулю 47. связь где i = 5, j = 6, обеспечивает AGl = 0. При этом модуль сумматора будет М = л5л4л3л2л! —1=47 при Л5 — 3, л^ = л2 = л3 = л4 = 2. Сумматор по основанию р = 53. Блок-схема сумматора представлена на рис. 6.22. Введены две допол- Рис. 6.22. Блок-схема сумматора по модулю 53. нительные связи Х^, Xi2j2, у которых /± =/2 = 6, = 2; f2 = 4. При этом AGl = 0 и модуль сумматора опреде- 316
лится как М = (л4л3л2 — 1) Л! — 1 =53, где л4 = 23—1=7; л1 = л2 = л3 = 2. Сумматор по основанию р = 59. Блок-схема сумматора приведена на рис. 6.23. Введена дополнитель- Рис. 6.23. Блок-схема сумматора по модулю 59. ная связь Хц, у которой 1 = 3, ] = 6, благодаря чему AGl = 0 и модуль сумматора М = л3л2л1 — 1 = 59 при л3 = 24—1 = 15, Л! = л2 = 2. Сумматор по основанию р = 61. Блок-схема сумматора приведена на рис. 6.24. Имеет место одна Рис. 6.24. Блок-схема сумматора по модулю 61. дополнительная связь Xtj с i = 2, j = 6. При этом AGl = 0 и модуль сумматора М= Л1Л2 — 1 =61 при л2 = 23—1=31; nJ = 2. Сумматор по основанию р = 67. Блок-схема сумматора представлена на рис. 6.25. Имеют место четыре дополнительные связи: Xiui, Xi2y2, Xi3J-3, Xi4j-4, где j\ = = /2 = /з = /4 = 7; i’i = 3; <2 = 4; i3 = 5; t4 = 6, благодаря чему AGL = 0 и модуль сумматора определяется М = (((лвл5 — 1) л4 — 1) л3 — 1) л2Л! — 1 =67, где л3 = 3; л4 = л2 = л3 = л4 = л§ = 2. 317
Тот же модуль может быть реализован на сумматоре, представленном на рис. 6.26, но для него AGb=16. Рис. 6.25. Блок-схема сумматора по модулю 67 с ДСЬ = 0. Сумматор по основанию р = 71. Блок-схема сумматора приведена на рис. 6.27. Сумматор имеет три Рис. 6.26. Блок-схема сумматора по модулю 67 с ДСь = 16. дополнительные связи: Х^, Х^2, Xi3j3, у которых ]\ — = /2 = /3 = 7, ii = 4, i2 = 5, i3 = 6, AGL = 0 и модуль равен М = ((л6л5 — 1) л4 — 1)л3л2Л1 — 1 =71, где л3 — Л| •— л2 — л3 — л4 — л3 — 2. Сумматор по основанию р = 73. Блок-схема сумматора приведена на рис. 6.28. Сумматор имеет четыре Рис. 6.27. Блок-схема сумматора по модулю 71. дополнительные связи и модуль, характеризуемые соотно- шениями /1 = /2 = /з = /4 = 7, ii = 2, i2 = 3, i3 = 5, i4 = 6, AGb = 0; Л4 = (((л6л5— 1)л4л3— 1)л2— I) Л1— 1 =73, л3 — 3, Л1 — л2 — л3 — л4 — л3 — 2. 318
Сумматор по основанию р = 79. Схема сумма- тора представлена на рис. 6.29. Имеют место две допол- нительные связи: Xijp причем /\ =/2 = 7, = 5, Рис. 6.28. Блок-схема сумматора по модулю 73. f2— 6. При этом AGL = 0 и модуль сумматора определится как М = (л6л5 — 1) л4л3л2 — 1=79 при Jtg — 3, jtj[ = л2 = л3 — л4 = 1X5 = 2. Сумматор по основанию р=83. Блок-схема сумматора представлена на рис. 6.30. Реализуются Рис. 6.29. Блок-схема сумматора по модулю 79. три дополнительные связи: Х^, Х^ Х^ где 1\ = ]2 = ]з = 7] ii = 3; г2 = 4; Z3 = 6; благодаря чему AGb = 0 Рис. 6.30. Блок-схема сумматора по модулю 83. и модуль сумматора определится как Л1 = ((л6л5л4 — 1) я3— 1) 1 =83 при «rtg — 3, — л2 •— л3 —- л4 — jig •— 2. 319
Сумматор по основанию р = 89. Блок-схема сумматора приведена на рис. 6.31. Реализован тремя Рис. 6.31. Блок-схема сумматора по модулю 89. дополнительными связями: Xi2;2, Xi3j8, где /1 = /2 = = /з=7; 4 = 2; Z2 = 3; f3 = 6. При этом AGb = 0, а модуль сумматора определяется Л4 = ((л6л5л4лз— 1) л2— 1) jq— 1 =89, где ntg — 3, эТ|_ — «гс2 — л3 — л4 — jtg — 2. Рис. 6.32. Блок-схема сумматора по модулю 91. Сумматор по основанию р = 91. Блок-схема сумматора представлена на рис. 6.32. Для реализации Рис. 6.33. Блок-схема сумматора по модулю 97. сумматора достаточно двух дополнительных связей: Х^19 Xi2j2, причем = /2 = 7, 4 = 3, г2 = 6. Тогда AGb = 0 и модуль сумматора равен М = (л6 Л5Л4Л3 — 1) ^2nt —1=91 при л6 —- 3, 14 — л2 — л3 л4 2. 320
Сумматор по основанию р=^1. Блок-схема сумматора представлена на рис. 6.33. Для реализации сум- матора требуется ввести четыре дополнительные связи: У которых /1 = /2 = /з = /4 = 7, 1\ = 2, i2 = 3, i3 = 4, i4 = 5. Тогда AGb = 0, а модуль сумматора определяется величиной М — (((л5л4 — 1) л3 —1) jt2 — 1) — 1 = 97 ПрИ Jtg == 7, —= л»2 —— л з == зт4 == 2. В качестве иллюстрации выполним сложение двух чисел на сумматоре с модулем М = 53. Пример. Сложить числа а = 42 = 101010 и р = 45= 101101 на сумматоре, работающем по модулю Л4 = 53. 101010 101101 Поразрядная сумма 000111 Выход переноса 1 1 Занесение переноса 11 11 Суммирование поразрядной суммы с переносами 100010 Получен результат суммирования а+ Р-= 100010 = 34. Действительно: а+р = 87 (mod 53) =34. Рассмотрим выполнение операции вычитания на сум- маторе обратного кода с дополнительными связями. Обычно операция вычитания числа р из числа а на сум- маторах выполняется сложением числа а с дополнением числа р до модуля сумматора, т. е. а —р = « + р, где р = м-р. На двоичных сумматорах без дополнительных связей допол- нение числа р до величины модуля сумматора реализуется просто инверсией числа р. Введение дополнительных связей переводит сумматор, как было показано ранее, в полиадическую систему счис- ления с основаниями . . ., где инверсия числа несколько отличается от его дополнения до модуля. Дело в том, что инверсия разряда, взятого по основанию 21-1365 321
представляет собой образование дополнения до fy, 6 то время как нам необходимо иметь дополнение до — 1. Иначе говоря, инверсия разрядов, охватываемых дополни- тельными связями, превышает дополнение разрядов по их модулю на единицу, инверсия же разрядов, не охваченных дополнительными связями, совпадает с их дополнением до модуля. Отсюда дополнение числа может быть получено следующим образом: — по дополнительным связям сумматора прибавляется единица; — полученный код инвертируется. В сумматорах, у которых выдержано требование AGb — 0, прибавление единицы облегчается тем, что допол- нительные связи обычно исходят только из старшего раз- ряда. Отсюда прибавление единицы по дополнительным свя- зям эквивалентно имитации переноса со старшего разряда. Рассмотрим выполнение операции вычитания на сумматоре, рабо- тающем по модулю 7И = 53. Пример. Вычесть из числа а число р, если а = 47 = 101111, Р = 25 = 011001. Вычислим величину р1? получающуюся после при- бавления к числу единицы, по дополнительным связям р = 011001 1 1 Pi = 100011 Найдем инверсией дополнение р числа р: р = 011100. Найдем разность а-р = а + р= 101111+011100 = 010110 = 22. Действительно, а —Р = 47 — 25 = 22. Операция вычитания Р~ а, при которой уменьшаемое меньше вычитаемого, должна дать допол- нение числа а —р>0 до модуля сумматора. Пример. Вычесть из числа р число а, если а = 47 = 101111, Р = 25 = 011001. Вычислим величину а4, получающуюся после прибавления к числу а единицы, по дополнительным связям а= 101111 1 1 а1 = 111001 Найдем инверсию числа а: а = 000110. Действительно, а = 6 = = 53-47. Найдем результат вычитания р —а Р—а = Р + а = 011001+000110 = 011111, т. е. р + а = 31. Действительно, р — а = 25—47 = 53+25 —47 = 31. 322
Рассмотрим выполнение операции умножения на сум- маторе с AGL = 0. Обозначим через а и р, соответственно, множимое и множитель, а = 2n“xan + 2n“2an-i + ... + 2а2 + ₽ = 2п'1Ьп + 2п'2Ьп~, + ... + 2Ь2 + бР Тогда произведение операндов определится как сф = (а2п'х) Ьп + (а2п"2) Ьп_, + ... + (<х2) b2 + абР При AGL = 0 работаем с двоичным кодом, величина которого полностью соответствует весам двоичных разря- дов, так что сдвиг числа влево, если не возникает переноса из старшего разряда, эквивалентен умножению на двоич- ное основание, а при наличии переноса результат коррек- тируется на величину, равную модулю сумматора. Следует отметить, что как при операциях сложения и вычитания, так и при выполнении сдвига на сумматоре с дополнитель- ными связями возможно образование результата, отличаю- щегося от искомого на величину модуля сумматора. Действительно, в соответствии с рассмотренными выше особенностями модуля сумматора, последний представ- k ляется в виде П пг — 1 Для * == L 2, . . ., k. Поскольку г=1 модуль является вторым нулем сумматора, то наличие его предполагает гашение элементарного сумматора с выда- чей единицы переноса в более старший разряд. Естественным путем указанный акт не может быть выполнен, так как перенос может быть вызван лишь чис- лом, превышающим модуль хотя бы на единицу. Здесь интересно отметить, что конструкция сумматора с AGl = 0, выполненная путем введения дополнительных связей с выхода старшего разряда сумматора, существа указанного ограничения не меняет. Действительно, сведе- ние дополнительных связей к старшему разряду сумматора позволяет ожидать коррекции по модулю только, если содержимое сумматора превышает величину 2п — 1, т. е. могут иметь место 2п — 1 — М не скорректированных по модулю М результатов операций. Преимущество выполнения операции умножения на сумматоре с дополнительными связями перед сумматором, где отсутствуют дополнительные связи, определяется тем, что на нем требуется одна коррекция окончательного 21* 323
результата, а остальные выполняются автоматически по заданному модулю pt, в то время как на сумматоре, где отсутствуют дополнительные связи, потребуется в худшем случае коррекций. При этом возрастает соответственно и разряд- ность сумматора. В качестве иллюстрации приведем пример умножения чисел на сумматоре, работающем по модулю М = 19. Пример. Вычислить произведение ар, где множимое а = = 13 = 01101; и множитель р = 15 = 01111. Поскольку младший разряд множителя не нулевой, на сум- матор заносится множимое 01101. Далее множимое сдвигается на один разряд влево, т. е. 2а = 11010. Так как второй разряд не нулевой, то сдвинутое на один раз- ряд множимое прибавляется к содержимому сумматора. Содержимое сумматора Сдвинутое множимое 2а Занесение переноса через дополнительные связи Частичное произведение 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 J 1 1 0 0 Третий разряд множителя также отличен от нуля. В связи с этим к содержимому сумматора должно быть прибавлено нутое влево еще на один разряд, т. е. 22-а. множимое, сдви- При этом 22-а Занесение переносов 1 0 1 1 0 0 _1 1 0 0 0 0 1 Повторное занесение переносов 1 1 1 Результат 0 1110 Подсчитаем очередную сумму частичных произведений. Частичное произведение 1 0 1 0 0 Сдвинутое множимое 0 1 1 1 0 0 0 0 1 0 Занесение переносов 1 1 1 Частичное произведение 0 1 1 1 1 Четвертый разряд множителя не нулевой. Найдем 23«а = = 11100. Вычислим частичное произведение 0 1 1 1 1 1_ 1 1 0 0 0 1 0 1 1 Занесение переносов 1 1 [ 110 0 0 324
Таким образом, получили результат сф = 11000 = 24 = 5 (mod 19). Действительно, результат верен, так как проверкой в десятичной системе счисления получаем сф= 13-15=195 = 5 (mod 19). Приведенная ранее лемма 6.1, утверждающая, что через любое поперечное сечение двоичного сумматора при сумми- ровании двух чисел не может пройти более одного переноса, для сумматора с дополнительными связями, работающего по произвольно заданному модулю, в общем случае непри- менима. Процесс суммирования на таком сумматоре двух чисел аир, удовлетворяющих условию а < 7И, р < 7И, состоит из следующих действий: — поразрядное суммирование чисел А и В с образо- ванием переносов; — суммирование поразрядной суммы с полученными переносами; — суммирование полученного результата с переносами дополнительных цепей и цепи обратной связи при наличии переноса с выхода старшего разряда сумматора. О числе возможных переносов для сумматоров с допол- нительными связями могут быть сформулированы следую- щие леммы. Лемма 6.3. Через любое поперечное сечение сумматора с s дополнительными связями Хц, работающего по модулю М и с ЛОЬ = 0, в процессе сложения двух чисел аир, удовлетворяющих условию а<7И, р< М, (6.12) Может пройти не более двух переносов и не может иметь места более одного переноса с выхода старшего разряда сумматора. Доказательство. По (6.12) наибольшая возможная сумма имеет вид (а + p)znax = 2Л4 — 2. Со старшего разряда более одного переноса выйти не может, так как после выхода переноса содержимое сумматора GL уменьшается на величину AGL = 2n-l- 'ZXtjgi. i=i 325
Здесь gt — вес группы разрядов, охватываемых связью Xtj, и в предельном случае GL равно GL = 2M-l-2n+3X^. г=1 Рассмотрим теперь, как изменяется модуль отдельных полиадических разрядов и всего сумматора при включе- нии s дополнительных связей, начинающихся со старшего разряда сумматора. Модуль разрядов сумматора, охваты- ваемых младшей дополнительной связью Xin, равен M(i) = 2n-^+i — 1. При включении следующей по старшинству связи Х2п получим модуль М(2) — 2n~i2+4 — 1 — 2*1"“Ч При включении третьей связи = 2n~i3+i — 1 — 2il~i3 — 2i2~~i3, При включении связи с номером s получим модуль s— 1 M(s) = 2n“^+1 — 1 — 2"^ 3 2\ k=i Полный модуль сумматора с обратной связью будет равен s— 1 м = 2п - 1 - 2*«-1 - 2-1 3 2ift. (6.13) fe=i Учитывая, что в рассматриваемом случае 21*-1 i=l fe=l из (6.12) и (6.13), получим GL = 2n — 3 — S 2ift“*<2n, fe=l т. е. второй перенос из старшего разряда невозможен. Любой разряд сумматора участвует максимум в двух сложениях. Одно из них — это сложение операндов, вто- рое — сложение с кодом по дополнительным связям, 326
поскольку код по дополнительным связям поступает на суммирование не более одного раза. Но при каждом сум- мировании возможен только один перенос через поперечное сечение сумматора, что и доказывает утверждение леммы. О числе возможных переносов в случае нескорректиро- ванных операндов может быть сформулирована следующая лемма. Лемма 6.4. Через любое поперечное сечение п-разряд- ного сумматора с дополнительными связями, подключен- ными к старшему разряду сумматора, в процессе сложения двух чисел аир, удовлетворяющих условию а<2п-1, 1, могут пройти не более трех переносов и не более двух переносов может выйти из старшего разряда сумматора. Доказательство. Действительно, рассмотрим случай суммирования наибольших чисел а = 2п — 1, (3 = = 2П — 1, сумма которых а + Р = 2n+1 — 2. Минималь- ный модуль, реализуемый на n-разрядном сумматоре, оче- видно, не меньше 2П"Х, так как для реализации модуля, меньшего даже на единицу, достаточно было бы иметь (п — 1)-разрядный сумматор. Но тогда уже при наличии двух переносов со старшего разряда, содержимое сумматора будет GL = 2п — 2 и тре- тий перенос из старшего разряда сумматора невозможен. В силу того что сумматор участвует в трех сложениях, количество переносов в поперечном сечении сумматора не может быть больше трех. § 6.3. ОСНОВЫ ТАБЛИЧНОЙ АРИФМЕТИКИ Определение. Под табличной реализацией соотношения Zi = f(Xi,yt) (6.14) условимся понимать организацию такой таблицы, в которой каждой комбинации входных величин xt и yt соответствует одно и только одно значение выходной величины Естественно, что обращение к такой таблице по значе- ниям Xi и yt предполагает появление на ее выходе величи- ны Zj. Идея использования таблиц в вычислительных машинах не нова. В память машин вводятся таблицы значений исход- ных величин, таблицы различных констант, значений эле- 327
ментарных функций и т. д. Существует множество схемных воплощений таблиц, реализующих тё или иные логические функций.’Например, широко распространенная схема деши- фратора для п-разр.ядного двоичного кода реализует 2п воз- можных комбинаций кодов. При более общем подходе к схеме дешифратора, предполагая реализацию любой воз- можной двоичной комбинации на его 2П выходах, получим 22п различных выходных функций. При этом, естественно, ие__будет выдерживаться однозначное соответствие между количеством комбинаций входных величин xt и yt с выход- ной zf, но величина 22П характеризует функциональную полноту дешифраторной схемы. Изучая вопросы машинной арифметики, будем, в основ- ном, интересоваться табличной реализацией соотноше- ния (6.14), исходя из того, что xit yit zt для всех воз- можных значений i являются целыми неотрицательными числами. Пусть [О, X)—диапазон изменения величины х^ [О, Y) —диапазон изменения величины [О, Z)—диапазон изменения величины Тогда число возможных взаимных комбинаций xt и yt определится как XY. Условие однозначного соответствия хгу1 значениям zi определит требование Z<XK (6.15) Предполагая в дальнейшем, что значения входных величин лежат в одном диапазоне [О, X), получим Z<X2. Определение. Под избыточностью J таблицы будем пони- мать разность между числом возможных комбинаций вход- ных величин и числом допускаемых значений выходной функции, т. е. J = X2 —Z. (6.16) Избыточность таблицы непосредственно характеризует ее конструктивное исполнение и косвенно ее электрические параметры. Если Z< X2, то это означает, что множества XY и Z не взаимно однозначны, т. е. данной комбинации yt соответствует одно и только одно значение zi9 а данному значению zt может соответствовать не только одна комби- нация xt и уf. В этом случае может быть поставлена задача о выборе конструкции таблицы, которая позволит макси- мально уменьшить количество дублируемых результатов. 328
Определение. Под j-м узлом условимся понимать часть таблицы, реализующую соотношение Zj = f (xj, yj). Очевидно, в общем случае число узлов таблицы опре- делится как N = X2. Это справедливо, когда реализует- ся каждая возможная комбинация входных величин, а затем выходы узлов объединяются по правилам, опреде- ляемым видом функции /. Функция f характеризует содер- жимое операции, в то время как множества X и Y опреде- ляют диапазоны входных величин и от содержания опера- ции не зависят. Определение. Под коэффициентом исполь- зования таблицы условимся понимать выраженное в процентах отношение количества возможных выходных значений к количеству узлов таблицы, т. е. v = -^-100%. (6.17) Величину со, обратную коэффициенту использования, будем называть коэффициентом избыточности, т. е. со = -^ 100%. (6.18) Рассмотрим для примера характеристики таблицы, реа- лизующей двухкомпонентную операцию в двоичной пози- ционной системе счисления. Операнды и значения возможных результатов операции “лёжат“ в диапазоне [0, X), где X = 2п. Отсюда число возможных комбинаций входных величин или, что то же самое, число узлов таблицы определится как N = X2 = 22n. Но возможные результаты операции лежат в том же диапазоне, что и исходные величины. Отсюда избыточность таблицы будет J = 2П(2П—-1). Коэффициент использования определится как v = -^-%«27"n%, коэффициент избыточности со«2п"7%. Как видим, характеристики таблиц являются степен- ными функциями от числа входов. Поэтому” выполнение арифметических операций в позиционных машинах чисто табмчныш!,методами нереализовано до настоящего врег мени в силу огромного количества’требуемого^оборудова- ния? ^Действительно, если рассмотрим арифметическое 329
устройство, работающее „в. двоичной позиционной системе счисления и оперирующее, например, с тридцатиразряд- ными числами, т. е. п — 30, то для табличной реализации какой-либо операции потребуется таблица с числом узлов N = 260 да 1018. Избыточность ее также определится как J да 1018. Коэффициент использования будет v— 10'9%, т. е. потребуется .построить практически нереализуемое сбрружение, которое будет использоваться на 10-9 процента. Качественно другие результаты мы получим при перехо- де к системе остаточных классов. Для реализации того же диапазона порядка 230 или 109 нам достаточно использовать систему оснований 3, 7, 11, 13, 17, 19, 23, 25, 29, наи- большее из которых требует для хранения 5-разрядный двоичный регистр. Для реализации операций по наибольшему основанию р = 29 рассматриваемой системы счисления требуется таблица, у которой входные и выходные данные меняются в диапазоне [0, 29), т. е. число узлов такой таблицы опре- делится как М = 292 = 841, а коэффициент использова- ния ее будет v = ^% = 3,3%. Для реализации операций по наименьшему основанию р = 3 потребуется таблица с числом узлов 2V = 32 = 9, а коэф- фициент использования такой таблицы определится как v = 2^ % да 33,3%. О Приведенные выше подсчеты характеризующих табли- цу величин приводятся в самом общем плане, без учета коммутативности входов, что для большинства операций имеет место, без учета возможности использования спе- циального кодирования, организации работы во второй сту- пени и т. д. В дальнейшем увидим, что привлечение этой дополнительной информации может существенно улучшить конструкцию и характеристики таблицы. Из вышесказанного видно, что вопросы, связанные с выполнением арифметических операций табличными методами, целесообразно рассматривать лишь в примене- нии к арифметическим устройствам, работающим в оста- тодных классах. Далее, ряд операций, реализуемых арифметическим устройством, не требует применения двухвходовых таблиц. Например, реализация таких функций, как ех, In х, всех тригонометрических функций, подсчет значения полинома 330
с постоянными коэффициентами и т. д., требует использова-. ния только одновходовых таблиц, конструкция которых существенно проще, чем двухвходовых. В них имеем дело с одним аргументом, изменяющимся в диапазоне [О, X) и, естественно, выполняется только то число узлов таблиц, которое предназначено для реализации выходных величин zt из диапазона [О, Z). Здесь почти всегда N = Z. При этом получается избыточность J = 0, коэффициент исполь- зования v = 100%. Поэтому в дальнейшем предполагается сосредоточить внимание только на двухвходовых таблицах и рассмотреть ряд соображений, которые могут быть при- влечены для упрощения их конструкций и улучшения характеристик. Рассмотрим реализацию операции умножения цифр и |Зг табличным методом по простому основанию pt. Составим таблицу из числовых значений произведения (*ipi (mod pt), где числовые значения будут отложены по горизонтали, а числовые значения второго сомножителя Pi — по вертикали. В местах пересечения будем указывать значения аД (mod pt). На рис. 6.34 приведена такая таб- лица для pi = 11. Как легко видеть эта таблица симметрич- на относительно левой и правой диагоналей, а также сим- метрична относительно вертикалей и горизонталей, про- ходящих между числами ----- и . Действительно, симметричность относительно левой диагонали определяется коммутативностью операции, симметричность относительно правой диагонали определяется тем, что (pi — at) (pi — = afPi (mod pt). Симметричность относительно вертикали и горизонтали опре- деляется тем, что сумма симметричных чисел кратна pi, т. е. azpi + (pi — Pi) = 0 (mod pi), + (Pi — at) Pf = 0 (mod pt). Таким образом, чтобы восстановить таблицу, достаточно иметь информацию только об ее восьмой части. Отсюда воз- никает реальная возможность сократить таблицу, реали- зующую операцию умножения. Для решения указанной задачи представляется целесо- образным применить специальное кодирование чисел и р7: —так называемый «код табличного умножения». Значе- 331
ния az, лежащие в диапазоне ^0, , могут быть зако- дированы произвольным способом. Значения af, лежащие в диапазоне , pt — 1 j , кодируются как pt — at. Для отличия диапазонов вводится индекс уа, который определяется следующим образом: О, если 0 < az < р-- , Ya I 1 Pi + ^ 1, если <az<pi. Таким образом, если задано число то для полу- чения значения pi — at достаточно проинвертировать индекс Ya- Теорема 6.6. Если два числа А и В заданы по осно- ванию pi в коде табличного умножения Дг = (Уа, Bi = (уз, РО, то для того чтобы получить произведение этих чисел по модулю pi, достаточно получить произве- дение aiPi(modpi) в коде табличного умножения и инвер- тировать его индекс у в случае, если уа отлично от ур, т. е. AiBi (mod pi) = (уг-, a/Pi (mod Pi)), (6.19) где I?, если Ya (6 20) l у, если Ya = Vi- Доказательство. Рассмотрим все возможные комби- нации соотношений между уа и у^: если уа = Уз = 0, то AiBi (mod pi) = (mod pi); если уа = уз = 1, то AiBi (mod pi) = (pi — at) (pt — pi) x X (mod pi) == a/pi (mod р/); если ya = 1, a yp = 0 или ya = 0, a y0 = 1, что одно и то же в силу коммутативности умножения, то AiBi (mod pi) = (pf — pi) (mod pi) = (pi — az) pi (mod pt) = = pi — aipi (mod pi), т. e. необходима инверсия индекса произведения a2Pi (mod р^. На основании вышеприведенной теоремы таблица, реализующая операцию умножения, может быть конструктивно уменьшена в четыре раза. Если дополнитель- но учесть коммутативность операции умножения, то при предварительном определении большего из сомножителей таблица может быть уменьшена еще в два раза, 33?
В качестве иллюстрации рассмотрим компоновку таблицы, реали- зующей выполнение операции умножения по основанию р= 11. Число- вая таблица произведения ajPj(modll) приведена на рис. 6.34. Вер- тикальные и горизонтальные оси симметрии расположены между -^2—=5 и £1±1 = 6. Выпишем все значения кода табличного умножения для р — 11. Код cq, как сказано выше, может быть выбран любым способом. От него требуется только, чтобы он взаимно одно- значно соответствовал данной цифре основания. Для простоты возьмем двоичный позиционный код. 333
Цифра У Цифра Y «г 1 0 0 0 1 6 1 1 0 1 2 0 0 1 0 7 1 1 0 0 3 0 0 1 1 8 1 0 1 1 4 0 1 0 0 9 1 0 1 0 5 0 1 0 1 10 1 0 0 1 Величины 0 и pt = 11 не кодируем, так как умножение на эти величины дает ноль, и в этом случае операция будет выполнена быстрее простым анализом операндов. При необходимости эти значения могут быть также включены в таблицу, Покажем теперь на примерах, что при пользовании кодом таблич- ного умножения для операндов, взятых из разных квадратов числовой таблицы, всегда результат будем получать в левом квадрате, который и должен быть практически реализован. Пример. Перемножим цифры а = 3 |3 = 4, т. е. сф (mod 11) = (0,011).(0,100) (mod 11) = = (0,001) (mod И) = (0,001). Здесь перемножались цифры с нулевыми индексами. Результату при- писывается нулевой индекс. Пример. Цифру а = 8 умножить на цифру Р = 3: сф (mod 11) = (1, 001).(0, 011) (mod 11) = (1, 010). Поскольку в операции участвовали цифры с разными индексами» то индекс результата должен инвертироваться, т. е. ар (mod 11) = (0, 010). Действительно, ap = 8.3(mod ll) = 2(mod 11). Пример. Умножить цифру а = 7 на цифру р = 10: аР (mod П) = (1, 100).(1, 001) (mod 11) = (0, 100). В операции участвовали цифры с одинаковыми индексами, стало быть, результат не требует коррекции. Рассмотрим теперь табличную реализацию операции сло- жения и определим вид кода, наиболее удобный для обеих операций. При табличной реализации операции сложения нас может заинтересовать то обстоятельство, что для определе- ния значения разряда суммы не требуется знания разрядов операндов по отдельности. Как поразрядное суммирование, так и перенос определяются коллективным состоянием 334
разрядов операндов, имеющих одинаковый номер. При этом для поразрядного суммирования важно знать, одинаковые они или разные, для образования переноса важно знать, являются ли оба разряда единичными, для распростране- ния переноса важно знать, являются ли эти разряды раз- ными. Таким образом, таблица суммирования может быть заметно сокращена, если на вход ее будут поданы не п-раз- рядные двоичные операнды, а некий n-разрядный код — так называемый «код табличного сложения», каждый из разрядов которого может иметь три значения: одно из них kto имеет место, если оба Z-x разряда операндов нулевые; kii9 если они единичные, и kip, если соответствую- щие разряды операндов разные. Если i-e разряды операндов сложения обозначить через и то, очевидно, kiQ — Д Pi? ^zl = ОС? Л Ph kip = OCj Д pi V A Ph (6.21) Выигрыш в количестве узлов таблицы определяется тем, что теперь надо реализовать не 22п, а Зп узлов. Дальнейшее упрощение таблицы возможно, если поль- зоваться не только значениями ki0, kilf kip, но и их инверс- ными значениями. При этом получается довольно простое логическое описание таблицы. Так, например, на рис. 6.35 представлено логическое описание таблицы, реализующей выполнение операции сложения по модулю = 29. При логическом описании таблицы для краткости вместо обозначений kiQf kiif kip приняты обозначения kQy kif kp с указанием их инверсных значений kQ, ki9 kp. Прочерки в отдельных клетках таблицы указывают на независимость результата от значений соответствующих разрядов опе- рандов. Индексом а обозначено коллективное значение младших (первых) разрядов операндов, индексы 6, с, d, е обозначают коллективные значения соответственно вторых, третьих, четвертых и пятых разрядов операндов. Все узлы, относящиеся к одному разряду результата, объединяются на выходе схемой «или». Напомним, что для сложения по указанному модулю в общем случае требуется 22п узлов, где п = 5, т. е. N = 210 = 1024 узлам. На рис. 6.35 описана таблица, реализующая ту же операцию всего 108 узлами. 335
1 разряд результата 2 разряд результата 3 разряд результата 4 разряд результата 5 разряд результата е d c b a e d c b a e d c b a e d c b a e d c b a kQ ko /го kp kp kp kp kp kp kp kp kp ki ki ki ko ko kl kp kp kp kp kp 'kl kl kl kl kl kp kp ko ko kl kl ~kl kl ko ko kl kl kp kp kp £1 kp kp kp ki kp kp kp ki kp ki ko ko ko ko ki ki kp kp kp kp kp kp kp kp kp kp 1 ИНК I | kl kl kl ko ko ko kp kl kp kp kp ko kp kp *p kp ko kp kp kp ko kp I1 kp ki ki ki ko ko kl kl kl ko kp kl kl ko ko ko ko ko ko ko ko kl kl kl kl kl kp kp kp kp kp kp kp kp kp kp kp kp kp kp kp ki ko ko ko ko kl kl kl kl kl kp kp kp kp kp kp kp kp kp kl kp kp kp kp kp kp ko kl kp kp kp kp kp kp kp kp kp kp kl kl ko kp kp kl kl kp ko kl ko kl kp kl kl ko kp ko kp kl ko kl kl ko kl ko kp ki ki ko ko ko Ло ko ki ko kl ko ko ko ko ko ko ko ko kl । iiii ??? ? ko ko ko kp kp kp kl kl kl I1 kp ko ko ko ko kl kl kp kp kp kp kl kl kp kp ko kp kp kl kl kp kp ko kp kp kl kl kp kp ko ko kp kl ko kl kp ko kp kl kl kp kl ko ko kl kl ko ko kl kl ko kl kl ki ki ko ko ko ko ko ko ko &0 ko kp kp kp kp ko ko ki ki ki ki kp kp kp kp kp kp kl ki ki kp kp kp kp kp ko kp ko ko ko kp kp kp kl kl kl kl kp kp kp kp kl ko kl ko ko kp kl kl kl kp ko ko kl kl ъ kl kl ko ko ki ^0 /гр ko ko ko ko
Следует заметить, что код табличного умножения прин- ципиально не пригоден для использования в операции сло- жения, так как одним из разрядов этого кода является сим- вол у. Посмотрим, как надо преобразовать этот код, чтобы он мог бы быть использован и как код табличного сложения. До значения Pi~^- код монотонно растет, каждый шаг меняясь на единицу. Символ у его равен нулю. Начиная со значения до pt — 1, в коде появляется символ у = 1, а величина кода начинает убывать. Если мы при наличии символа у = 1 будем инвертировать рабочую часть кода, чтобы обеспечить его нарастание по величине, то для использования полученного кода в качестве кода таблич- ного сложения необходимо определить вес разряда у. Последнее производится несложным путем. Если через gy определить вес разряда у и предположить, что рабочая часть кода хранится на (и — 1)-разрядном рЯ-1 регистре, то инверсное значение кода числа — опреде- лится как а весовое значение его должно удовлетворять следующему соотношению: откуда g^Pi + 1-2-4 Таким образом может быть получен код универсальный как для табличного умножения, так и для табличного сложения. Необходимо еще раз отметить, что в силу того, что опе- рации в табличной арифметике реализуются просто выбор- кой значения результата по значениям входных величин, а непосредственно арифметических действий не производит- ся, в таблицах может быть пригодно почти любое кодиро- вание. Специальное кодирование имеет своей целью только сокращение размеров таблиц. В общем случае конструкция и основные характеристи- ки таблиц определяются диапазоном входных величин. В связи с этим не исключена возможность перехода в про- 22 — 1365 337
цессе выполнения операции к меньшим основаниям системы счисления или к работе арифметического устройства непо- средственно в более высокой ступени системы остаточных классов. Пусть дана система счисления с основаниями pt, р2, . • рп и диапазоном еР, в котором число А пред- ставляется в виде А = (аь а2, . . аЛ). Цифру по основанию pi (i = 1, 2, . . п) представим во второй сту- пени системы, т. е. выберем новую систему оснований Vi> #2, • • •, с диапазоном ht Qi = П 3=1 который обеспечивал бы по меньшей мере невыход результа- та любой машинной операции над цифрой за диапазон. Очевидно, что, так как наибольший результат сложения двух остатков по модулю pt не может превышать величины 2pi — 2, мы должны иметь Qi >2pi — 2-, поскольку произведение двух остатков по модулю pi не может превышать (/?г— I)2, то Qt> (Pt-Vf. Естественно, что основания второй ступени должны удо- влетворять условию qj<Pb / = 1, 2, ..., ki, 4=1,2, ..и. В случае применения второй ступени оснований пред- ставляется целесообразным исходные числа программой перевода представлять сразу во второй ступени, арифмети- ческое устройство строить без прямых и обратных дешифра- торов как устройство, работающее только во второй сту- пени. И лишь окончательные результаты вычислений сле- дует программно переводить через первую ступень к деся- тичному представлению для окончательного вывода из вычислительной машины. При таком построении основные характеристики таблиц заметно улучшатся. Действительно, число узлов каждой таблицы уменьшит- ся на величину ki \N = pl~^ql (6.22) j-=i 338
Избыточность уменьшится на AJ = Pi(Pi-l)- 3 q}(qj-\) = &N-Pi+ S Я)- (6-23) j=l j=l Коэффициент использования таблицы во второй ступени в 0 раз более, чем в первой, где 0 определяется как ki pt S pj @=—— kt (6.24) При этом, несомненно, увеличится общая разрядность числа при хранении его на двоичном регистре, поскольку увеличивается общее число оснований, не совпадающих с модулем двоичного регистра. Рассмотрим на примере, как меняются табличные характеристики при переходе ко второй ступени оснований для операции сложения. Рассмотрение проведем не используя соображения об упрощении конструкции, поскольку они не связаны с величиной основания. Пример. Пусть задано в первой ступени основание р = 50. Коли- чество узлов определится как УУ = 502 = 2500. Выберем следующие основания второй ступени: <71 = 3, 72 = 5, 7з = 7. Здесь Q = 3«5«7= 105 >2р. Из (6.22) следует, что при этом число узлов таблицы уменьшится на величину kN = 2500 - (9 + 25 + 49) = 2417. Избыточность по (6.23) уменьшится на величину 4/7 = 2417 — 50+15 = 2382 относительно /7 = 2450, а коэффициент использования по (6.24) улуч- шится в 0 раз, где т. е. почти на порядок. Цифры второй ступени оснований могут быть, в свою очередь, представлены в третьей ступени. Например, цифра а7- по основанию может быть представлена в системе t с основаниями рь р2, . . ., р* с диапазоном R = р^, г=1 удовлетворяющей тем же требованиям по отношению ко 22* 339
второй ступени, которым удовлетворяла вторая ступень по отношению к первой. Так же может быть введена четвер- тая и более высокие ступени. При этом обеспечивается пре- дельная минимизация таблиц и улучшаются их характери- стики, но растет двоичная разрядность всего числа. Ограничением увеличения номера ступени является сформулированное ранее условие того, что любое основание более высокой ступени р7 должно быть менее основания предыдущей ступени qif т. е. р7- < qt &ля всех / и i. В качестве примера рассмотрим, в какой наивысшей ступени осно- ваний может быть представлено наибольшее число по двухразрядному основанию. Пример. Найти наивысшую ступень оснований для выполнения операции сложения при основании первой ступени р = 99. Одним из возможных вариантов второй ступени может быть 91 = 2, ?2 = 3, 9з = 5, 94 = 7- Диапазон системы Q = 2-3-5-7 = 210, т. е. выполняется условие Q>2pj—-2. Таким образом, уже во второй ступени переходим к основаниям, максимальное из которых q^ — 7. При этом число узлов во второй ступени определится как ЛМ2) = 22 З2 + 5272 = 87, а избыточность «7<2) —как JT42) = 87 —17 = 70. Переход к третьей ступени, не затронув основания q2, q^, позволит выразить максимальное основание q^~7 в системе оснований р?} = 3, р(4)==5 с диапазоном /? = 15, при этом, как легко видеть, выполняется условие >2^-2. Таким образом, в третьей ступени работаем с основаниями: Pi1) = 2, р£2> = 3, р(33)=5, р<44> —3; р(54> = 5, у которых верхний индекс указывает на принадлежность к соответ- ствующему основанию предыдущей ступени. Переход к четвертой ступени невозможен. Общее число узлов в последней системе опре- делится как ЛГр = 22 + 32 + 52 + 32 4-52 = 72 с избыточностью J^p = 72—18 = 54. Пример. Найти наивысшую ступень оснований для выполнения операции умножения при основании первой ступени р = 99. За один из возможных вариантов второй ступени может быть принят q^ = 3, q2 — 5, <у3 = 7, ^4=11, <?5 = 13, с диапазоном Q= 15 015. Поскольку (р— 1)2 = 9604, то выполняется условие QXp-1)2. 340
Дня третьей ступени могут быть выбраны следующие основания Р1 = 2; р2^3; рз —5; р4 = 7, с диапазоном К — 2«3«5-7 = 210, поскольку выполняется условие *>(<75--1)2- Таким образом, в третьей ступени получим систему оснований Р?> = 3; р^ = 5; р<з>^7; р<4> = 3; р<4> - 5; р<4> = 7; р<75> = 2; р£> = 3; р<95> = 5; р<60> = 7. Переход к четвертой ступени невозможен. § 6.4. СТРУКТУРА ТАБЛИЦ ОСНОВНЫХ ОПЕРАЦИЙ Для конструирования таблиц основных операций пред- ставляется наиболее эффектным применение методов спе- циального кодирования, позволяющего уменьшить размер таблиц сложения, вычитания и умножения в четыре раза. Уменьшение таблиц в вовсемь раз является менее эффектив- ным с точки зрения получения максимального быстродей- ствия, поскольку в этом случае перед входом в таблицу необходимо провести анализ, какой из операндов больше, и соответственно расположить их на входных регистрах. С точки зрения выигрыша оборудования этот метод также не столь эффективен, как кажется, поскольку умень- шение таблицы в два раза вызывает необходимость иметь схему, анализирующую, какой из операндов больше. При реализации операций табличными методами в ряде случаев возможно дополнительное уменьшение оборудова- ния за счет того, что строится не единая таблица, реализую- щая результат в двоичном коде, а п более мелких таблиц, реализующих ответы по каждому из п разрядов результата, где п — разрядность регистра, необходимая для хранения цифры по рассматриваемому основанию. При этом довольно часто имеет место унификация таб- лиц, т. е. сокращение количества различных типов таблиц, необходимых для реализации арифметического устройства. В качестве иллюстрации рассмотрим метод построения разрядных таблиц для выполнения операции умножения по основанию р = 17 при использовании кода умножения. Для простоты рассмотрим случай, когда значения опе- рандов заданы в однорядовом коде. Код умножения при р = 17 имеет вид 341
Цифра Символ Код Цифра Символ Код 1 0 0001 9 1 1000 2 0 0010 10 1 0111 3 0 ООП 11 1 оно 4 0 0100 12 1 0101 5 0 0101 13 1 0100 6 0 оно 14 1 ООП 7 0 0111 15 1 0010 8 0 1000 16 1 0001 Для выполнения операции умножения, как известно, необходимо реализовать одну четверть таблицы умножения. Первый операнд 1 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 8 2 2 4 6 8 10 12 14 16 3 3 6 9 12 15 1 4 7 4 4 8 12 16 3 7 11 15 5 5 10 15 3 8 13 1 6 6 6 12 1 7 13 2 8 14 7 7 14 4 11 1 8 15 5 8 8 16 7 15 6 14 5 13 Выпишем теперь такую же таблицу для младшего раз- ряда результата, зачернив те квадраты, в которых резуль- тат имеет единицу по младшему разряду, и оставив незачер- ненными квадраты с нулевым значением младшего разряда результата (см. рис. 6.36). Построим аналогичным способом таблицу единичных значений для второго разряда результата (см. рис. 6.37). Построим таблицу третьего разряда результата (см. рис. 6.38). И, наконец, построим таблицу для четвертого разряда результата (см. рис. 6.39). Несмотря на то, что уменьшен размер каждой таблицы и увеличено их количество, в целом имеет место выигрыш в количестве оборудования, поскольку до предела сокра- щена избыточность таблиц и, как видим, реализуются толь- 342
Рис 6.37. Первый операнд
оо Рис. 6.39. Первый операнд
ко узлы таблицы, соответствующие значащим разрядам результата. Дальнейшее уменьшение оборудования может быть достигнуто за счет того, что в некоторых таблицах может оказаться число нулевых значений результата меньше чис- ла единичных значений. В этом случае целесообразно реализовать нулевые значения, а результат инвертировать на выходе. Выбранный нами модуль р ~ 17 в трех младших разря- дах имеет равное количество нулевых и ненулевых резуль- татов. Рассмотрим при принятых выше условиях реализа- цию поразрядных таблиц для выполнения операции умно- жения по модулю р = 19. В этом случае код умножения имеет вид: Цифра Символ Код Цифра Символ Код 1 0 0001 10 1 1001 2 0 0010 11 1 1000 3 0 ООН 12 1 0111 4 0 0100 13 1 оно 5 0 0101 14 1 0101 6 0 оно 15 1 0100 7 0 0111 16 1 ООН 8 0 1000 17 1 0010 9 0 1001 18 1 0001 Таблица результатов операции имеет вид Первый операнд 1 2 3 4 5 6 7 8 9 ч 1 1 2 3 4 5 6 7 8 9 ® 2 2 4 6 8 10 12 14 16 18 СХ Q О) О 3 6 9 12 15 18 2 5 8 § 4 4 8 12 16 1 5 9 13 17 « 5 5 10 15 1 6 11 16 2 7 а 6 6 12 18 5 11 17 4 10 16 ° 7 7 14 2 9 16 4 11 18 6 СП 8 8 16 5 13 2 10 18 7 15 9 9 18 8 17 7 16 6 15 5 345
Таблица единичных значений младшего разряда про- изведения принимает вид 346
Для третьего разряда результата 347
Здесь мы видим, что в таблице младшего разряда коли- чество нулевых значений результата заметно меньше коли- чества единичных значений и можно более чем на 10% уменьшить оборудование таблицы, реализуя нулевые зна- чения младшего разряда и инвертируя их на выходе таблицы. Для второго и третьего разрядов картина обратная. Здесь целесообразно реализовать именно единичные значе- ния результата. И, наконец, для старшего разряда также целесообраз- но реализовать единичные значения результата, состав- ляющие всего около 20% таблицы. Таким образом, в качестве наиболее универсального метода, позволяющего существенно уменьшить оборудова- ние таблицы, предлагается переход от непосредственной реализации полной таблицы к реализации поразрядных таблиц с учетом свойств симметрии. Например, при реали- зации таблицы умножения по основанию р = 19 для пол- ной таблицы потребовалось бы 192 = 361 узлов, коммути- руемых на выходе. В случае применения специального кода умножения и поразрядной компоновки, даже без учета уменьшения оборудования за счет количественного соотношения нуле- вых и единичных значений разрядов, требуется 45 + 36 + 36 + 18 = 135 узлов. Подсчет этот проделан неточно, так как, с одной сторо- ны, не учитывалась сложность узлов (в поразрядных таб- лицах они существенно проще), а с другой стороны, не учи- тывалось то обстоятельство, что в поразрядных таблицах на вход подается однорядовый код, для образования которого также необходимо соответствующее оборудова- ние. На практике при разумном конструировании таблиц удается дополнительно получить, в среднем от 20 до 40% экономии оборудования. Существенно проще и экономнее реализуются одновхо- довые таблицы, т. е. таблицы, работающие от одного опе- ранда на входе, поскольку они реализуются с нулевой избыточностью и почти не требуют привлечения каких- либо методов, упрощающих их конструкцию. 348
§ 6.5. ПРИНЦИПЫ ПОСТРОЕНИЯ основных БЛОКОВ АРИФМЕТИЧЕСКОГО УСТРОЙСТВА Одним из отличительных свойств системы остаточных классов является возможность независимой и параллельной обработки каждой цифры числа в большинстве операций арифметического устройства. В связи с этим в арифметическом устройстве может быть выделен ряд трактов по числу оснований, работаю- щих в большинстве случаев независимо друг от друга и параллельно во времени. В операциях, носящих позиционный характер, эта неза- висимость трактов не выдерживается и результат их работы анализируется совместно для выявления позиционных характеристик числа. Но в целом ряде машинных действий тракты функциони- руют самостоятельно и независимо, определяя время выполнения всей операции временем выполнения ее в наи- длинейшем тракте, и могут быть оформлены как типовая конструкция. Типовое конструктивное оформление трактов имеет дополнительное достоинство, заключающееся в упрощении резервирования арифметического устройства. Определение. Под элементарным звеном арифметического устройства понимается функциональный узел, предназначенный для выполнения по отдельному основанию системы действий, реализуемых независимо, и конструктивно оформленный в типовой тракт арифмети- ческого устройства. Здесь под словом «действие» понимается не только отдельная операция арифметического устройства, целиком реализуемая независимыми трактами, но и отдельная часть такой операции, в которой выдерживается упомянутая независимость трактов. Рассмотрим более детально, что из себя представляет элементарное звено арифметического устройства. Блок-схема элементарного звена арифметического устройства представлена на рис. 6.40. Через Рг обозначен двоичный регистр, предназна- ченный для хранения двоичного кода отдельной цифры числа. Всего предполагается наличие двух регистров Рг1 и Рг2, предназначенных для хранения кодов операндов, 349
причем йа регистр Рг2 заносится результат и с него же про- изводится выдача результата операции. Через КТ обозначен комплект таблиц. Отдельную таблицу будем обозначать индексом Ц. Под таблицей усло- вимся в дальнейшем понимать функциональную схему, предназначенную для выполнения отдельной операции или отдельного действия по данному основанию, хотя конструк- тивно она может состоять из нескольких частей (например, при выборе поразрядного способа организации таблиц). Вход первого Вход второго числа число Рис. 6.40. Блок-схема элементарного звена арифметического устройства. Таблицы могут быть реализованы на любой технической базе. Для определенности будем исходить из потенциаль- ного режима их работы. Это позволит нам рассматривать схемы табличного типа, работающие непосредственно друг на друга, причем результат с выхода оконечной таблицы будет получен без дополнительных управляющих сигналов. Включение той или другой таблицы из комплекта таблиц производится подачей на нее управляющего напряжения по каналу СК — «символ команды». Через Tof будем обозначать время срабатывания таб- лицы по наибольшему основанию при выполнении i-й операции. Результат операции хранится на регистре Рг2. Если вре- мя срабатывания таблицы невелико по сравнению со вре- менем переброса входных регистров, то прямое занесение результата операции на Рг2 невозможно. Поэтому между выходом таблицы и входом включена «схема задержки» (СЗ). В качестве схемы задержки может быть использован 350
промежуточный регистр, линии задержки или какие-либо специальные схемы. Комплект таблиц имеет второй выход, обозначенный ciy который предназначен для участия в определении позицион- ных характеристик всего числа. Если обозначить время переброса регистра через а величину задержки, которую обеспечивает схема задерж- ки,— через т2, то общее время выполнения £-й операции в предположении, что операнды расположены на входных регистрах элементарного звена, определится как Ъ = ^0г + Т1 + т2, а время выдачи результата по выходу ct будет равно тог. Определение. Обобщенным звеном арифметического устройства или просто звеном будем называть сово- купность элементарных звеньев по всем основаниям сис- темы. Если бы в состав операций, выполняемых арифмети- ческим устройством, не входили операции позиционного типа, то устройство состояло бы только из звена и мест- ного устройства управления. Наличие операций позицион- ного типа определяет необходимость во введении в состав арифметического устройства так называемого блока пози- ционных характеристик (б. п. х). Определение. Блоком позиционных.характе- р и с т и к арифметического устройства будем называть функциональный блок, предназначенный для определения минимального следа числа либо, что то же, для определе- ния номера интервала, в котором расположено число. В гл. 5 рассмотрен ряд методов определения минималь- ного следа числа. Из методов последовательного типа выбе- рем метод нулевизации и рассмотрим, как будет выглядеть блок позиционных характеристик при реализации этого метода. Если проведен процесс нулевизации по i разрядам i = I, 2, . . ., п — I и получено число (0,0, ..., 0, аж, az+2, ..., ап), (6.25) то для следующего этапа нулевизации выбирается кон- станта, у которой i первых разрядов — нулевые, (I + 1)-й разряд совпадает с цифрой — a/+i, а остальные раз- ряда таковы, чтобы выбранная константа имела наимень- шую возможную величину. 351
Тогда при сложении числа (6.25) с такой константой нулевизируется очередной i + 1-й разряд и при этом обес- печивается невыход из рабоего диапазона. Отличительной чертой этого процесса является изме- нение на каждом шаге значений цифр старше нулевизируе- мой, т. е. строгая последовательность процесса. Действи- тельно, не закончив предыдущий шаг полностью, т. е. не Рис. 6.41. Блок позиционных* характеристик (вариант нуле- визации). выполнив до конца сложение на предыдущем этапе, мы не знаем старших цифр числа, по которым на последующих шагах будут определяться константы нулевизалии. Кроме того, при выполнении указанного процесса мы каждый раз работаем со всем числом, хотя количество знача- щих цифр числа и значащих цифр констант все время умень- шается. Очевидно, что в основном блок позиционных характе- ристик должен состоять из комплекта устройств хранения 352
констант, обращение в каждое из которых производится по соответствующей цифре числа, как это показано на рис. 6.41, и блока анализа старшей цифры. Естественно, что константы, выбираемые по значению цифры основания рь имеют значащие цифры по всем осно- ваниям, включая и константы, выбираемые по значению цифры основания р2, имеют на одну значащую цифру мень- ше, и далее, переходя от одного основания к следующему, мы каждый раз оперируем с константами, имеющими на одну цифру меньше, и, наконец, последняя группа констант имеет всего две значащих цифры. С другой стороны, учиты- вая упорядоченность системы оснований, от основания к основанию увеличивается количество констант, которые необходимо хранить. Иначе говоря, в рассматриваемых накопителях последовательно увеличивается количество хранимых слов от pi — 1 до рп — 1 и при этом уменьшает- ся разрядность этих слов от (п — 1)-й цифры в слове до одной цифры. Обозначив время выборки константы из соответствую- щего накопителя через тВЫб, получим время thi выполнения всей операции нулевизации = (# 1) (^выб 4" Т-выч)* При выполнении накопителей констант табличным мето- дом можно предположить, что время обращения к накопи- телю и время, необходимое для сложения двух чисел одного порядка, твыб Твыч ~ ^сл« Тогда ТН1 ~ 2 (fl 1) Тед. Рассмотренный вариант выполнения операции нулеви- зации явно не оптимален с точки зрения быстродействия, поскольку выполнение сложения и выборка очередной константы разнесены во времени. Предполагалось, что, пока не закончено сложение, нам не известна цифра, по которой должна быть выбрана кон- станта для следующего этапа нулевизации. Однако пока производится выборка константы для числа (О, 0,.. .0, аь аИ1, ..., ап) по значению цифры az, по основанию pz, в элементарном звене, работающем по основанию pi+i, может быть подго- товлено значение цифры ai+i, по которому в следующем этапе будет производиться выборка константы. 23-1365 353
Действительно, то значение Аа/+1, которое будет вычтено из а/+1, чтобы получить сч+1, определяется только значением с^. Поэтому если в процессе выборки константы по значе- нию последняя будет передана в элементарное звено, работающее по основанию pf+i, то по значению az и а/+1 из соответствующей таблицы может быть выбрано значение СС$ -|-i. Но в этом случае в константе, выбранной по значению цифры аь нет нужды иметь цифру по основанию Pf+i, Г3-/7 06oL3 ?f>-n ' 06cL7 O6ol1 Z5 n 0б(тС5 Zfi.n ОбсСп-з I---1--1--1----------1--1---1--1--1-----------------1-1-1-1—' cC'z O6cCz 0C3 oCi 05oC<+ cC'5 ct’f, 06oC6 сб'7 oCe cC'n.z 06oC'n.z cCn^ Рис. 6.42. Временная диаграмма работы блока нулевизации. т. е. разрядность констант уменьшится еще на одну цифру, что соответственно уменьшит оборудование накопителей констант. Если ранее количество хранимых цифр Si определялось как п—1 51= 3 (Pi- l)(n— 1), г=1 то теперь оно определится как п—2 $2 = 3 (pi— 1) (n —i— 1), г=1 т. е. уменьшится на Д5 = П3(рг-1). г—1 Временная диаграмма работы блока нулевизации при этом представлена на рис. 6.42. Для удобства описания введены следующие сокращен- ные обозначения: — обращение за константой по значению цифры обозначим Об аг; — образование следующей цифры сч+1 в элементарном звене, работающем по модулю pf+i, будет обозначаться сч+ь 354
— суммирование нулевизируемого числа с константой, имеющей значащие цифры, начиная с цифры по основанию pit будем обозначать Sf_n. Число сложений в рассматриваемом варианте также равно п—1, поскольку нулевизация проводится по всем п — 1 цифрам. Однако после каждых двух сложений тре- буется один дополнительный такт для образования очеред- ного адреса и обращения в накопитель. На рис. 6.43 представлена одна типовая группа из временной диа- граммы. При суммировании одновременно производится обращение в накопитель по значению цифры щ-ь Совме- стить эти действия с образованием адреса не удается, £(i+i)-n Об oL} I---------1---------1--------1 06 oL'i-i oCi ot’i + 7 Рис. 6.43. Типовая группа временной диаграммы. поскольку элементарное звено, работающее по основанию Pi, занято операцией сложения. В следующем такте со сложением S(i+1)_n совмещается образование адреса с^. Выполнить в следующем такте сложение S(f+2)-n не удает- ся, поскольку не выполнена выборка по цифре aj. В связи с этим на каждые два такта сложения у нас приходится один такт, свободный от сложения. Таким образом, общее количество тактов, свободных от сложения, во время которых производится обращение к накопителю и образование очередного адреса, определит- ся как [ у ] , а общее время выполнения операции нулевиза- ции как Тц2 ~ 1) Тсл -|- £—J ^выб* Учитывая, как и ранее, что Твыб ~ Тел» получим ТН2= ([/4^] +Л — 0 Тсл- 23* 355
При п четном получим *н2= (у/1—2) ТСЛ, а при п нечетном _ Зп — 5 ^н2 — 2 ^сл* В общем случае при п четном получаем сокращение времени выполнения операции на Дтн = тН1 — тн2= (2(n— 1) —+ тсл = ултсл или в процентах ^2- 100%= (25 + -% т. е. не менее чем на 25%. Если п нечетное, получаем сокращение времени выпол- нения операции на Ат — ” + 1 т 1н— 2 1сл или в процентах -^2- 100% = (25 + -^-1 %. тН1 \ п 1 / Возможен также вариант парной нулевизации. Набор констант в этом случае состоит из PlPn-1 + РгРп-2 + • • • + Рп-1Pn+i — 2 2 п—1 2 — = 2 (Pipn-i— 1) констант или г=4 п—1 2 S3 = 2 (PiPn-i— 1) (п —20 цифр. г=1 Процесс нулевизации числа состоит из шагов. Блок-схема устройства приведена на рис. 6.44. Общее время, необходимое для нулевизации числа рас- сматриваемым способом, определится как Т-нЗ — 2 (^выб 4" тсл)- 356
Здесь уже нельзя предполагать, что твыб ж тсл, посколь- ку требуются накопители констант относительно большой емкости, которые вряд ли могут быть реализованы таблич- ными методами. Однако учитывая, что каждый из накопи- телей в процессе нулевизации работает только на выборку одной константы, т. е. с частотой, в раз меньшей, чем Рис. 6.44. Устройство парной нулевизации числа. частота шагов нулевизации, мы, привлекая форсированные режимы работы накопителей, можем полагать ^выб ^сл* Тогда Тн3^(П—1)тсл. Время выполнения нулевизации указанным способом сокращается на ДТц — Тн3 = (/2. 1) Тел или в процентах 100% = 50%, T'Hl т. е. процесс протекает, как и следовало ожидать, в два раза быстрее. В качестве примера рассмотрим, каково соотношение емкости накопителей констант во всех трех способах нуле- визации в предположении, что задана система оснований: pt = 37, р2 = 41, Рз = 43, р4 = 47, р5 = 53, рв = 59, р7 = 61. 357
Цифры по всем основаниям системы требуют для хра- нения 6-разрядные двоичные регистры. Поскольку с ростом основания уменьшается количество значащих цифр, то будем оценивать суммарную емкость накопителя в количе- стве цифр, которые необходимо хранить. Для первого способа 6 S1=S(Pi-l)(n-0 = г=1 = 36-6+ 40.5+ 42.4+ 46-3 +52*2+ 58.1 =884 цифры. Для второго способа 5 $2 = 3 (Ре— О (« — i~ 1) = г=1 = 36-5 + 40-4+43-3+ 46-2+ 52-1 = 613 цифр. И, наконец, для третьего способа з 5з= 2 (Pipn-i 1) (л 2i) = i=l = (37-59— 1)5 + (41 -53— 1)3 + (43-47— 1)=- 19446 цифр. Эти же величины можно сравнить между собой, приведя к некоторому эталонному накопителю, имеющему слово длиной в 30 разрядов, хотя на самом деле такое сравнение носит чисто условный характер. Тогда суммарная емкость в первом случае условно экви- валентна накопителю емкостью в 177 слов, во втором слу- чае — накопителю емкостью в 123 слова и в третьем случае накопителю емкостью в 3839 слов. Рассмотрим теперь возможную реализацию одного из параллельных методов определения минимального следа числа, в частности метода расширения диапазона. В этом методе, как известно, задается число А цифрами cq, а2, . . ап и определяется цифра ап+1, при которой число является правильным в расширенном диапазоне. Причем, если SA есть след числа А, то первоначально производится расширение числа МА = (alt а2, • • - , «п-1, 5д), ранг которого вычисляется по формуле n—1 ГМА = ‘2 Г1 — ПАтп, i=l 358
где гi — ранг соответствующего минимального псевдоорто- гонального числа, а лА —число переходов по основанию рп при образовании SA. Тогда цифра расширенного представления числа МА равна 4+1 = (<7 ~Гма) (mod pn+i). Прежде всего здесь следует обратить внимание на то, что большинство величин, участвующих в вычислении, являют- ся только функциями цифр исходного числа и для операций с ними можно пользоваться значениями (i = 1, 2, . . . . . ., п — 1), перекодируя их на входе соответствующей таблицы. Введем обозначение некоторых перекодируемых величин: значение следа S* минимального псевдоортогональ- ного числа М; = (0, 0, cq, 0, St) будем обозначать Si=fi(ai,), а ранг его n = член обобщенной суммы цифр числа Мл обозначим Здесь (5л)« Тогда след числа А может быть записан как п— 1 SA= 3 Л(а;) (mod/?n), г=1 а цифра aW-j—как п— 1 an+i = (3 F (“0 + / з (Sa) — лАШп) (mod pn+i), i=i где F (a0 = (Л (“0 — fz (®0) (mod pn+i). Через fi (an) обозначим корректирующий член для числа МА, определенный значениями ап и SA, после прибавления которого к числу МА получаем число At, совпадающее с числом А по цифрам о^, а2, .... ап. При этом вырабатывается признак у, определяющий (при у = 1) наличие критической ситуации. 359
Тогда цифра a„4i по основанию pn+i числа At может быть определена как “п+1 = (S F (modрп), (6.26) i=i где F (an) = (А (5л) + A (an)) (mod Рп+1). Реализация выражения (6.26) предполагает наличие трех групп оборудования: первая группа оборудования для Об7 0^2 0^3 ОС5 Otg ОС? ОСд OLg oCjq OCfj.g CL^-z Ctn-i OCp Рис. 6.45. Блок-схема вычисления следа числа. просчета следа SA, одновременно с ним лА и числа непра- вильных пар вторая группа оборудования для вычисле- п—1 ния 2 F (az) (mod Pn+i) и третья группа оборудования для i=l окончательного вычисления an+i и анализа критической ситуации, если она имеет место. На рис. 6.45 представлена первая группа оборудования. Она состоит из двухвходовых сумматоров, обозначенных индексом S с указанием, по какому модулю они работают. 360
Всего потребуется k ступеней таблиц, работающих друг на друга, где k — наименьшее положительное число, опре- деленное из условия l<2fe. При этом время вычисления SA и яА в общем случае опре- деляется как &т0. Вторая группа оборудования выполняется также на базе k ступеней таблиц. Вычисление с ее помощью величины п—1 2 F (а;) (mod pn+i) производится за kx0 интервалов вре- г=1 мени. Отличие первых двух групп оборудования состоит лишь в кодировании значений (i = 1, 2, . . ., п — 1) на входах таблиц первой ступени. Во второй группе оборудования по мере суммирования величин F (af) суммируются двоичные признаки ki9 опре- деляющие четность минимальных псевдоортогональных чисел, каждый из которых целиком определяется значением (i =1,2, . . ., n — 1). Таким образом, на выходе одно- п— 1 временно со значением 2 ? (a;) (mod pn+i) вычисляется i=l и величина четности числа МА, а именно: п— 1 1|)(2ИЛ)= 2 ki (mod2)- г=1 И, наконец, третья группа оборудования, представлен- ная на рис. 6.46, реализует вычисление и при- знака у. Если критический случай не имеет места (у = 0), то величина и является искомым минимальным сле- дом числа. Если же критический случай имеет место (у=1), то требуется проанализировать соотношение чет- ностей гр (Л±) и гр (Яр). Четность гр (Л±) определяется про- стым суммированием по двоичному модулю значений четностей гр(2ИА) числа МА и четности гр(/4(ап)) коррек- тирующего члена ср (ЛА) = (гр (Л1А) + гр (/4 (an))) (mod 2). По значению гр (Л4) и ап+1 может быть определена вели- чина ЛГ и, если имеет место ситуация N' < или N' > +.?. , когда величина гр (Лр) сразу определена, на выходе у2 появляется указание, какое из значений an+1 или pn+t является искомым. Если имеет место ситуа- 361
ция АГ = , то вырабатывается признак у3, и тогда указание об истинности ап+1 или рп+1 снимается с выхода у4. На рис. 6.47 представлена блок-схема полного блока позиционных характеристик для параллельного варианта. об/7 5/} Яд F(сС[) Sa К У2. fa Рис. 6.46. Третья группа оборудования блока позиционных характеристик числа. Общее время я определения минимального следа числа в некритическом случае определится как t1 = (^ + 2)t0, (6.27) а в критическом случае т2==(^ + 3)т0. (6.28) Здесь log2 (га — 1) + 1 > k > log2 (n — 1). Общее количество AfT таблиц будет порядка 7VT«2(2,,-l) + 5 = 2’t+1 + 3) (6.29) поскольку количество таблиц при организации их в k сту- пеней равно 2k — 1. В качестве иллюстрации на рис. 6.48 приведена блок-схема блока позиционных характеристик 362
для случая десяти оснований п+1 = Ю. Здесь k = 3, откуда = 5т0, т2 = 6т0 и NT = 19; как это и следует из (6.27), (6.28) и (6.29). Блок позиционных характеристик, вычисляя значение минимального следа числа, одновременно служит и целям Of 7 Ct? - • • П + 1 Рис. 6.47. Блок позиционных характеристик числа. контроля правильности числа, поскольку простым сопостав- лением значения S* со значением цифры числа по основа- нию pn+i определяем его правильность, иначе говоря, наличие или отсутствие ошибки в числе. В общем случае в структуру арифметического устрой- ства, работающего по основаниям рь р2, .. ., р71, Рп+ь где На коррекцию результата Рис. 6.48. Блок контроля. основание рп-н является контрольным, должны войти два подобных блока; один из них, определяющий минимальный след по основанию pn+i, является блоком контроля на наличие ошибки в числе, а второй, определяющий значение минимального следа по основанию рп, является собственно 363
блоком позиционных характеристик, определяющим место- положение всего числа в числовом диапазоне и реализую- щим операции позиционного характера, такие, как опреде- ление знака числа, арифметическое сравнение и т. д. В блоке контроля дополнительно к оборудованию блока позиционных характеристик подключается таблица выбора альтернативных совокупностей ошибок и регистр для их хранения, как это показано на рис. 6.48. По мере стягива- ния альтернативной совокупности из содержимого регистра исключаются ошибки, которые не могут иметь места, а после окончания процесса по значению ошибки производится кор- рекция результата. § 6.6. О СТРУКТУРЕ ЦИФРОВЫХ МАШИН В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ Вопросы структуры цифровых вычислительных машин чрезвычайно обширны и сами по себе являются предметом широких и глубоких исследований. Известен целый ряд публикаций, посвященных фундаментальным исследова- ниям основ теории и практики конструирования цифро- вых вычислительных машин самого разнообразного наз- начения. Исследуемая в настоящей монографии система оста- точных классов является весьма своеобразной системой счисления и, как всякая система счисления, накладывает ограничения не на структуру всей машины в целом, а лишь на структуру арифметического устройства в свете своеоб- разной трактовки алгоритмов ряда операций арифметиче- ского устройства. В этом плане проводящиеся исследования структур вычислительных машин и выбор оптимальных вариантов организации всей машины в полном объеме применимы и к машинам, построенным в рассматриваемой системе счисления. Даже арифметическое устройство, наиболее зави- симое от принятой системы счисления, может быть органи- зовано на базе концепций, принятых в арифметических устройствах позиционных машин. Однако, с другой стороны, система остаточных классов обладает, как мы убедились, рядом весьма специфических свойств, не имеющих аналога в позиционных системах счис- ления. Благодаря этой специфике удалось построить так называемую табличную арифметику, неприменимую в пози- 364
ционных машинах, разработать новые принципы обнару- жения и исправления ошибок, а на базе их арифметику ошибок, что также невозможно в случае позиционной системы счисления и т. д. Поэтому весьма целесообразным представляется даль- нейшее развитие исследований в области структуры машин, направленное на максимальную утилизацию специфики непозиционных систем с целью существенного улучшения структурных параметров цифровых машин, особенно такого параметра, как живучесть. В этой связи можно разделить все оборудование цифровой вычислительной машины на две группы: Первая группа — оборудование, связанное с представлением числа по отдельным основаниям. Сюда могут быть отнесены элементарные звенья арифметического устройства, все виды и ступени накопителей чисел, вся система индексных регистров, система ввода — вывода информации. Примечание. Предполагается, что система индексных регистров выполнена в непозиционном ва- рианте. Действительно, адресацию накопителей целесообразно выполнить также в остаточных классах, поскольку уже в накопителях средней емкости модифицируемая часть адреса сравнима по количеству разрядов с мантиссой числа. Отсюда скорости арифметической обработки числа и адреса должны быть сравнимы, поскольку иначе может нарушить- ся баланс между коэффициентом полезного действия ариф- метического и запоминающего устройства. Вторая групп а — оборудование, связанное с дей- ствиями над всем числом и с организацией работы всех устройств машины. Сюда относятся блок позиционных характеристик и блок контроля, подавляющая часть системы управления, накопитель команд и т. д. При таком делении можно утверждать, что первая группа, состоящая, в основном, из массовых каналов, а стало быть, включаю- щая в себя подавляющий объем ЦВМ на базе исследованной в гл. 4 системы обнаружения и исправления ошибок может быть сделана предельно живучей без заметного увеличения оборудования. Это означает, что появившийся отказ исправ- ляется, а при росте числа отказов машина продолжает пра- вильно функционировать, но в меньшем числовом диапазоне, т. е. с меньшей точностью. 365
Вторая группа оборудования, составляющая, по нашим подсчетам, около 20—30% всего оборудования, должна быть защищена известными методами резервирования. В конструктивном плане весьма перспективной представ- ляется идея организации первой группы оборудования в виде отдельных машинных трактов. Под машинным трактом понимается оборудование мас- совых каналов системы ввода — вывода, накопителей чисел всех видов и ступеней и элементарное звено арифметиче- ского устройства, работающее по отдельному основанию. Если компоновать каждый машинный тракт со своим местным управлением, то заметно возрастает процент функ- ционально живучего оборудования. Далее, в системе остаточных классов весьма своеобразно решается задача автоматического аппаратурного масштаби- рования введением плавающего диапазона. Во всех устрой- ствах вычислительной машины, кроме арифметического устройства, числа могут представляться в диапазоне [0, еР) по основаниям р2, • • Рп- В арифметическом устройстве диапазон представления чисел [0, Р) может быть существенно увеличен за счет введения ряда дополнительных оснований pn+i, Рп+2, • • . • • •» Рп+т' т Р = pj рп+}. i=l Полагая мантиссы операндов представленными в диапа- зоне [0, cP), неизбежно приходим к тому, что результаты арифметических операций могут лежать в более широком диапазоне. В частности, для представления результата опе- рации умножения нам необходимо иметь диапазон порядка [0, еР2), а это значит, что при поступлении в арифметическое устройство мантиссы операндов должны быть представлены в более широком диапазоне [0, Р), где Р>аР2. Тогда результат арифметической операции точен, но его необходи- мо привести к виду, позволяющему транспортировать его в другие устройства машины, оперирующие в диапазоне [0, еР), для чего необходимо произвести округление по дополнительно введенным основаниям. Как известно, округление по основанию заключается в приведении числа к виду, делящемуся на р7-, т. е. в вычита- нии из всего числа цифры по этому основанию и в делении полученного результата на 366
В силу того что все основания расширенной системы являются взаимно простыми числами, а после деления на Pj нас цифра по этому основанию уже не интересует, неопре- О деленные ситуации вида -у возникнуть не могут. Пусть результат арифметической операции имел вид Л = (СХ^, ОС-2» • • •» ^пч • • • 1 тогда после сворачивания диапазона получим А « P6rt+iP%+2 • Рп+т («1> “2- • • • ’ «п), (6.30) где 67 (/ = 1, 2, ..., иг) является двоичной функцией, принимающей значения ( 1, если производилось округление по основанию pj, == I л J I 0, если округления не производилось. Определение. Под естественной фо р*м о й представления числа в остаточных классах будем понимать представление вида (6.30), в котором мантисса числа рас- положена в диапазоне [0, <зР). Определение. Сворачиванием диапазона будем называть процесс перехода от представления мантиссы в диапазоне [0, Р) к ее представлению в диапазоне [0, gF). Выражение (6.30) приводит нас к следующему представ- лению всего числа Л = ^Л+2 ••• Р8п%тМ’ (б-31) где Л1-— мантисса числа. Для сохранения наибольшей возможной точности числа в представлении (6.31) величина мантиссы должна быть ограничена снизу таким образом, чтобы сделать невозмож- ным дальнейшее уменьшение порядков, иначе говоря, чтобы имело место условие Pn+jM > Ф Ч j = 1, 2, ...,т. (6.32) Определение. Под нормальной формой представ- ления числа в остаточных классах будем понимать представ- ление, удовлетворяющее условию (6.32). Иначе говоря, мантисса числа нормальной формы должна удовлетворять неравенствам (6.33) 367
Для упорядоченной системы оснований значение j может быть выбрано из совокупности / = 1, 2, . . и, п + 1. Однако совокупность возможных значений j может быть сокращена, учитывая следующие соображения. Число А представляется в расширенном диапазоне по дополнитель- ным основаниям pn+j (j = 1, . . пг) только в арифмети- ческом устройстве. В остальных устройствах машины ман- тисса представляется лишь по основаниям pi р2, . . рп, поэтому выбор j = п + 1 нецелесообразен, так как это затруднит определение формы представления числа в этих устройствах. Из остальных возможных значений / целесо- образно выбрать наибольшее значение / = п, поскольку в этом случае условию — (6.34) Рп удовлетворяет наибольшее количество возможных значений М, а значит, и реже возникает необходимость в нормализа- ции чисел. Если весь числовой диапазон [0, сЛ) разбить на рп интервалов, то условие (6.34) эквивалентно требованию, чтобы мантисса нормализованного числа располагалась в любом интервале [/^, (/ + 1)П / = 1, 2, кроме первого, для которого / = 0. Продолжая развитие рассмотренной формы представле- ния числа, можно построить новый тип арифметического устройства, оперирующего с целыми числами, но автомати- чески корректирующего величину диапазона представления операндов и результата, т. е. здесь от понятия плавающей запятой переходим к понятию плавающего диапазона пред- ставления чисел. § 6.7. ПРИНЦИПЫ ПОСТРОЕНИЯ КОМБИНИ- РОВАННЫХ ДИСКРЕТНО-НЕПРЕРЫВ- НЫХ УСТРОЙСТВ В СИСТЕМЕ ОСТАТОЧ- НЫХ КЛАССОВ Увеличение точности цифровых вычислительных машин ограничивается, в основном, допустимой величиной разряд- ной сетки машины, т. е. количеством оборудования, в то время как точность аналоговых машин во многом опреде- 368
ляется качеством, иначе говоря, прецизионностью обору- дования, в связи с чем точность в три-четыре верных знака результата считается для них довольно высокой. Весьма существенным является такой фактор, как уни- ) нереальность цифровых машин, т. е. возможность решать задачи разных классов без аппаратурной перестройки машины. Преимущества цифровых вычислительных машин перед аналоговыми представляются настолько существенными, что недостатки их, такие, как количество и габариты обо- рудования, высокие потребляемые мощности, более длитель- ное время решения задач, длительная предварительная подготовка задач к решению, высокая квалификация и относительно большой штат обслуживающего персонала, не мешают цифровым машинам успешно конкурировать с аналоговыми почти во всех областях применения пос- ледних. Отсюда понятен интерес к исследованию гибридных кон- струкций дискретно-непрерывного типа, которые, предпо- ложительно, могли бы объединить достоинства обоих типов машин, а именно обеспечить высокую точность решений цифровых машин с присущими им относительно невысокими требованиями на допуска используемых деталей, простотой, компактностью, экономичностью, быстротой получения результата и с органически присущей аналоговым маши- нам способностью работать в реальном масштабе времени. Естественно, что, оставаясь в аналоговой технике на уровне обычного представления числовых величин и схемы решения задачи, мы можем увеличить точность решения только за счет существенного уменьшения погрешности обо- рудования, что возможно в довольно ограниченных пре- делах. Поэтому для увеличения точности решения представ- ляется целесообразным найти такую форму представления числовых величин, когда каждая величина из полного диа- пазона представляется набором чисел из малых числовых диапазонов. Тогда, обрабатывая в отдельности каждую величину малого диапазона в предельном масштабе устрой- ства и компонуя на выходе результаты обработки, мы полу- чим существенное увеличение точности работы вычисли- тельной машины. Одним из способов подобного рода является так назы- ваемый «метод растяжки», который предусматривает раз- 24-1365 369
биение входных данных на отдельные части и обработку каждой части в отдельности в предельном диапазоне устрой- ства. Однако этот метод также ограничен с точки зрения полу- чения высокой точности результата. Наиболее существен- ным недостатком данного метода является необходимость учета связей между отдельными частями обрабатываемых величин при выполнении операции. В связи с изложенным для решения поставленной задачи целесообразно принять такую форму представления число- вых величин, когда исходное число представлялось бы набором не связанных между собой чисел малых диапа- зонов. Как мы уже смогли убедиться, этому требованию удовлетворяет система остаточных классов. Действительно, поскольку остатки по разным основа- ниям не связаны между собой, нет и ограничения, накла- дываемого необходимостью учитывать связи между ними. Поскольку результат любой рациональной операции над каждой цифрой числа, представленного в виде остатков по выбранной системе оснований, сам является остатком по тем же основаниям, то отсутствует необходимость измене- ния масштаба в процессе решения задачи. Предположим, нам необходимо решить какую-то задачу (например, найти решение системы дифференциальных уравнений), числовые величины которой изменяются в диа- пазоне [0, еР). Участвующие в решении задачи числовые величины пред- ставляются в системе' остаточных классов с диапазоном [О, еР) в виде остатков ОСр ^2) • • • , 0Ln по соответствующим основаниям, каждый из которых обра- батывается на соответствующем элементарном аналоговом устройстве АУ (mod pi), АУ (mod р2), . . АУ (modрп), как это показано на рис. 6.49. Таким образом, обрабатывая независимо величины, наи- большая из которых не превышает рп, фактически опери- руем с величиной, лежащей в диапазоне [0, еР). До тех пор пока задача полностью не решена, описанная работа может производиться независимо на каждом из ана- логовых устройств Л У (mod Pi), АУ (mod р2).. ., АУ (mod рп), диапазоны которых суть рь р2, . . ., рп соответственно. 370
Естественно, что входные величины также представляют- ся в виде остатков по основаниям р2, рп ив таком виде поступают на входы аналоговых устройств Вх1, Вх2, . . Вхп. Когда обработка числовой информации в каждом из элементарных аналоговых устройств будет закончена и встанет вопрос о выводе результата, выходное устройство ВУ, получив значение выходной величины в виде Рис. 6.49. Блок-схема дискретно-непрерывного устрой- ства. остатков аь а2, . . ап, относящихся к одному и тому же моменту времени, преобразует по одному из методов пере- хода от остаточных чисел к позиционной системе счисления полученный результат в позиционное число и передаст его на выход. Указанная процедура выдачи результата может быть проведена столько раз во времени, сколько требуется по условиям задачи. Таким образом, несвязанность между собой остатков по разным основаниям обеспечивает проведение вычисли- тельного процесса в несвязанных устройствах, работающих по разным основаниям, а необходимость преобразования результата в его позиционную форму представления появ- ляется уже вне элементарных вычислительных устройств. Таким образом, хотя каждое из устройств должно иметь для правильного определения значения числовой величины только точность порядка — (i = 1, 2, . . ., п), Pi тем не менее при этих условиях выходной результат будет 24* 371
определен с точностью до величины 1 1 Иначе говоря, если окажется возможным организовать элементарные аналоговые устройства, каждое из которых работает по модулю pi3 то открывается возможность пос- троения аналоговой системы, работающей с любой наперед заданной точностью. При этом наращивание точности такой аналоговой системы будет производиться, как и в цифровых вычисли- тельных машинах, только за счет увеличения количества относительно непрецизионного оборудования — добавления некоторого количества элементарных аналоговых устройств, работающих по основаниям рп+1, рп+2, . . Pn+k, взаимно простым как между собой, так и с ранее выбранными осно- ваниями. Переходя в элементарном аналоговом устройстве к рабо- те по основанию р/э вводим в работу этого устройства эле- мент дискретизации, заключающийся в требовании целочис- ленности (с учетом масштаба) значения функции при данном целочисленном (с учетом масштаба) значении аргумента. Подобная дискретизация эквивалентна замене кривой ломаной линией, тем ближе приближающейся к кривой, чем меньше шаг разбиения Ах. Иначе говоря, задавшись требуемой точностью пред- ставления кривой у = f (х), всегда можно найти такой шаг разбиения Ах, при котором значения функции в фиксиро- ванных точках Xi, х2, . . Xi известны нам с заданной точностью. В этом смысле дискретизацию кривой можно трактовать следующим образом. Фиксируем точки, в которых значения функции известны нам с заданной точностью. Между этими точками функция меняется непрерывно, но у нас нет сведе- ний о том, какие значения она принимает. Задание функции у = f (х), например, по основанию pt также не нарушает ее непрерывности в диапазоне [0, pz), так как последнее эквивалентно параллельному переносу оси абсцисс на вели- чины pit 2pi, 3pi, ... соответственно. Подобное задание функции обеспечивает правильную работу элементарного аналогового устройства при выполнении рациональных 372
операций, так как последние выполняются аналоговым устройством для каждой точки кривой, а целочисленный (в масштабе) результат снимается при тех значениях аргу- мента, при которых определены фиксированные точки вход- ной функции (целочисленные). Поскольку в системе остаточ- ных классов любая рациональная операция выполняется точно, то при фиксированных значениях аргумента резуль- тат любой операции обязан быть целочисленным и откло- нение от целочисленности может быть обусловлено только аппаратурной погрешностью устройства. Поэтому при отклонении результата от целочисленного значения при фиксированных значениях аргумента за верное значение результата должно быть принято ближайшее целочисленное (в масштабе) значение. Если элементарные аналоговые устройства имеют диа- пазон изменения величин D и одно из них работает по осно- ванию pit то вес т единичного интервала определится как D и т = —. Если исходить из того, что допустима погрешность результата порядка у единичного интервала, то допустимая относительная погрешность б может быть оценена как 6=— %. Pi Тогда при выборе оснований среди взаимно простых чисел 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, закрывающих диапазон & « 1011, можно использовать элементарные аналоговые устройства, результирующая точность которых порядка т) « 1 10%. Если под ценой единицы диапазона М будем понимать отношение величины числового диапазо- на к диапазону изменения электрических параметров устрой- ства D, то в случае использования одного устройства для работы с числовыми величинами, лежащими в диапазоне (0, cF) получим цену единицы диапазона 373
а в случае работы по основаниям р2, ..., рп для отдельного основания pt получаем откуда следует, что цена единицы диапазона умень- шается в Mi ГТ ;=1 Пусть теперь задана функция S(x) вида S(x)= J akfk(x), (6.35) Л=1 где Од —целые неотрицательные числа, a fk — непрерыв- ные функции, принимающие целочисленные (в масштабе) значения при целочисленных (в масштабе) значениях аргумента •^1» -^2» • • • 1 Хтч причем %т %m-i = Хт-1 %?п-2 ~ ~ %2 -^1» В силу того что (6.35) справедливо для всех х можно написать S(Xj)= 2 akfk(Xj) (mod pt), k=i где j = 1, 2, ..., tn, или j = 1, 2, ..., tn, где ak.=ak (mod рг), fki = fk (xj) (mod pi). Покажем справедливость перехода от (6.35) к (6.36) для некоторых видов функции fft(x). Пусть f (х) есть функция, получаемая при воздействии некоторого опера- 374
тора F на функцию <р (%), т. е. f(x) = Fq> (х). Тогда при сделанных выше предположениях имеем fki = Ftfki. Рассмотрим вид оператора F для операций, реализуемых в остаточных классах. Для операции сложения (вычитания) fk (х) = /\cpfc (х) = ср± (х) + ф2 (х), где <Pi(x) и ф2(х) — функции операндов. В силу того что в точках хо х2, ..., хт оперируем с целочисленными значениями функций, остаток суммы должен равняться сумме остатков слагаемых. Отсюда Л{ = Лфй< = ф1{+ф2р i=l, 2, ..., т. Для операции умножения fk (х) = F2(pft (х) = ф1жф2ж. Для целочисленных значений остаток произведения, как известно, равен произведению остатков операндов, т. е. /й{ = -Е2фА| = ф1{ф2{. Для операции дифференцирования fk (х) = F3(fk (х) = Фл (х), или по определению fk (х) = (*+Дх)—<р& (х) де, где W — член второго порядка малости. Выбирая по оси абсцисс масштабную сетку таким обра- зом, чтобы Дх=1, и рассматривая только целочисленные значения функций, можно написать fki = ^зфА{ = ФЛ{ (Xj + 1) - фА. (Xj). Для операции интегрирования X fk (х) = F^k (х) = § Фй (X) dx. «о 375
Поскольку интеграл может быть представлен в виде суммы произведений и поскольку шаг интегрирования может быть совмещен с шагом масштабной сетки по оси абсцисс, то справедливо X f ki = dx. х0 Таким образом, установлен тот факт, что для рассмо- тренных операций выражение (6.35) может быть заменено выражением (6.36). Это справедливо при сделанном выше предположении, что в точках выбранной масштабной сетки по оси абсцисс функции-операнды принимают строго цело- численные (в масштабе) значения. Рассмотрим теперь ситуацию, когда функции-операнды cpi и <р2 под влиянием каких-то факторов отклонились на величины и е2 от своих целочисленных значений. Посколь- ку результат должен быть целочисленным, то необходимо его скорректировать, отнеся к ближайшему целочисленному значению. Поэтому, очевидно, погрешности функций-опе- рандов и погрешность устройства, выполняющего над ними заданную операцию, должны находиться в таком состоянии, чтобы результат получился вблизи истинного целочислен- ного значения, а тогда на выходе элементарной аналоговой схемы должно быть подключено устройство, корректирую- щее значение выходной функции в точках х2, . . ., хт до ближайшего целочисленного значения. Если последова- тельно включены несколько элементарных аналоговых устройств, то корректирующее устройство должно быть подключено только в том месте, где суммарная ошибка результата, получающаяся за счет неточности предыдущих устройств, становится близка к критической. В качестве иллюстрации рассмотрим интегрирование линейного дифференциального уравнения с постоянными коэффициентами. Пример. Рассмотрим работу элементарного аналогового устрой- ства, имеющего погрешность не лучше 1%, реализующего решение дифференциального уравнения £=* (6-37) с начальным условием х(/ = О) = хо с точностью до k знаков. Для обеспечения целочисленности аргумента введем масштаб, определяемый из условия 376
Тогда диапазон изменения аргумента в масштабе представится как [0, MfT). Введем масштаб Мх, обеспечивающий целочисленность функции в заданном диапазоне аргумента, в виде для получения точности в k десятичных знаков после запятой. Выберем основания Р1> Р2> Рп из условия Pi>Mxx(t = T). г=1 Тогда начальное условие х0 = 214^0 может быть записано в виде х0 = (х01, х02» •••» хоп)- Решать уравнение (6.37) будем по всем п основаниям параллельно, для чего надо иметь п элементарных анало- говых устройств, каждое из которых работает по своему основанию pt (i = 1, 2, . . ., п) с начальным усло- вием Xqi. Определение. В дальнейшем решение исходного урав- нения по основанию pt будем называть проекцией решения по данному основанию. Рис. 6.50. Блок-схема интегрирующего устройства. Рассмотрим функционирование устройства, представ- ленного на рис. 6.50 по основанию pt с начальным усло- вием Xqi = а с момента Время задержки интегрирую- щего звена обозначим через т. Здесь ИЗ обозначает эле- ментарное интегрирующее звено, КУ — корректирующее устройство, В — входной вентиль. В интервале времени [^, + т) выходное напряжение будет Xi = a. В интервале [tt + т, ^ + 2т) получим х2 = а(1 + (f—^) —т). 377
Для интервала [/j + 2т, Л + Зт) получим х3 = а(1-т)(1+(/-Л)) + а^^-. Для интервала + Зт, Л + 4т) — х4 = а(1 -т) (1 +(/-Л) + ’ Для интервала [^4-пт, /; + («+1)т) получим хп+1 = а(1-т) (l + (f_^+^^+...+^£) + + ат^. 1 п\ Откуда х»+! = а (1 — т) е(-'г + ат с точностью до величины остаточного члена Кл“ (п+1)! е где 0< 0< 1. Корректирующее устройство при этом в каждый фик- сированный момент времени обеспечивает целочисленность результата, что эквивалентно заданию в этот момент вре- мени точных начальных значений, исключающих преды- сторию работы устройства. Обозначив t -— ti = получим /п x = a(i—х)&-\-ах -^- + a(l—x)Rn. (6.38) Перейдем теперь к числовым расчетам. Пусть начальное значение функции задано как х (/ = 0) == 1. Будем искать решение уравнения (6.37) с точностью до четырех знаков в диапазоне аргумента [0, 1). Тогда Мх— 104 и решение будет иметь вид откуда начальное значение функции (в масштабе) хо=104. Выберем шаг аргумента равным 0,01, тогда при введенных масштабах аргумент меняется в интервале [0, 100) с шагом Д/=1, а функция —в интер- вале [10*, 27 183). 378
Выберем систему оснований: = 11, р2=12, р3=13, р4=17, ее диапазон — 29 172 27 183. Вычислим значения ортогональных базисов: В1 = 2652, В2= 17017, В3= 11 220, В4 = 27 456. Начальное условие запишется как х0 = (1, 4, 3, 4). Масштаб аргу- мента М^ = (1, 4, 9, 15), масштаб функции Мх = (1, 4, 3, 4). Каждое значение tk сопровождается коэффициентом . Здесь ~=(1, 4, 9, 5) = 100, -^- = (1, 1, 1, 1) = 1, Mt Л4? ^-=(0, 0, 0, 0) = 0 при й>2. Л4* Считая, что т < /, получим значение х в точке /х=1: xi (mod Pi) = 3, Xi (mod p2) = 9, x1(modp3) = 0, x1(modp4)=3, что соответствует в десятичной системе числу Xi = 3Bi + 9В2 + ЗВ4 = 10 101 или с учетом масштаба Xi — 1,0101. После проведения коррекции переходим к точке т = 2, где работаем с новым начальным значением функции х0=(3, 9, 0, 3). Здесь каждое значение tk сопровождается коэффициентами: тх Mt = (2, 8, 5, 13) =200, -^- = (2, 2, 2, 2) = 2, Mt ^Ц-=(0, О, 0, 0) = 0. Mt Тогда значение функции х в новой точке Z2 определится как х2 (mod = 5, x2(modp2) = 2, х2 (mod р3) = 10, x2(modp4) = 2. Откуда х = (5, 2, 10, 2) = 10202 или в масштабе х= 1,0202. Таким же образом могут быть найдены значения искомой функции при других значениях аргумента.
ГЛАВА СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ В КОМПЛЕКСНОЙ ОБЛАСТИ В своих знаменитых «Арифметических исследованиях» К. Ф. Гаусс вводит в рассмотрение целые комплексные числа а + bi, где а и b — целые вещественные числа, и строит теорию сравнений для целых комплексных чисел. Мы изложим далее, следуя Гауссу, некоторые необходимые для дальнейшего вопросы арифметики таких целых ком- плексных чисел. Всюду далее под комплексным числом мы будем понимать целое комплексное число, если про- тивное не будет специальным образом оговорено. Легко видеть, что сумма, разность и произведение двух целых комплексных чисел также является целым комплекс- ным числом. Пусть А = а + Ы — некоторое комплексное число. Числа Л(— 1)=— а — bi, Ai~ai — b, А( — i)=—ai-}-b, получающиеся умножением числа А соответственно на — 1, I, —i, являются ассоциированными с А числами. Число А, образуемое из А заменой в нем i на —i, является сопряженным с А числом. Величина = АА — (а + Ы) (а — Ы) = а2 + Ь2 называется нормой числа А, а также и числа А. 380
Комплексное число будет называться простым комплексным числом, если оно не может быть представлено в виде произведения двух комплексных чисел, отличных от единицы. В противном случае оно называется составным комплексным числом. Из этого определения непосредственно вытекает, что составное вещественное число является также и составным комплексным числом. Обратное не всегда верно: простое вещественное число может быть составным комплексным числом. Так, например, 2 = (1 + I) (1 — I). Аналогично, любое простое число вида 4k + 1 (k > 0) которое, как известно из теории чисел, может быть раз- ложено на сумму двух квадратов, является составным комплексным числом. Например, 29 = 4-7 + 1 = (5 + 2д> (5 —2Z); 37 = 4-9+ 1 = = (6 + 0(6 — i) и т. д. Что касается простых чисел вида 4k + 3, то они не могут быть представлеными в виде суммы двух квадратов и поэто- му являются и простыми комплексными числами. Для комплексных чисел могут быть выделены некоторые понятия, присущие целым вещественным числам, например такое важное понятие, как четность или нечетность. Здесь в качестве комплексной «двойки» выступает число 1 + i. Комплексное число а + Ы н е ч е т н о, если оно не делится на 1 + i. Комплексное число а + Ы четно, если а и b четны; при этом оно всегда делится на 1 + i. Помимо этих двух классов комплексных чисел имеется и промежуточ- ный класс чисел, делящихся на 1 + Z, но у которых а и b — нечетные числа. Этот промежуточный класс Гаусс называет получетными комплексными числами. Для введенных указанным образом целых комплексных чисел имеет место теорема о единственности разложения составного комплексного числа на его простые сомно- жители. В соответствии с этим здесь, естественно, определяется и понятие взаимно простых комплексных чисел как таких чисел, в разложениях которых на простые сомножители нет общих множителей, кроме единицы. 381
§ 7.1. СРАВНЕНИЕ ЦЕЛЫХ КОМПЛЕКСНЫХ ЧИСЕЛ Комплексное число А = а + Ы будет кратно комплекс- ному числу m = p-\-qi (или т будет делителем числа Л), если частное А : т является комплексным числом *. Иначе говоря, так как p + gi ~ Р2 + <?2 ар + Ьд . Ьр — ад . Р2 + р2 Р2 + <72 то А: т будет целым числом в том и только в том слу- чае, когда ар + bq = 0(modp2 + q2), j. bp — aq = 0 (mod p2 + q2). Если (7.1) не выполняется, то А не делится на т. Пусть S = e-\-fi таково, что A — S делится на т, тогда можно написать, что X^S(modm), (7.2) или S является вычетом А по модулю tn. Пример. Определить делимость чисел А=17-|-7/, m = 3-\-2i. Здесь р2 + <?2 = 9 + 4 = 13; ар + Ьд = 17-3+7.2 = 51 +14 = 65; Ьр- — 09 = 7-3-2-17= —13. Условия (7.1) выполняются: 65 = 0 (mod 13); —13 = 0 (mod 13). Теорема 7.1. Пусть А = а-\-Ы, tn — pA-qi и выпол- няются сравнения ар + bq = хр + yq (mod р2 + q2), bp — aq = yp — xq (mod p2-\-q2). (7.3) Тогда A = % + iy (modm). * Напоминаем, что под комплексным числом мы всегда имеем в виду целое комплексное число. 382
Доказательство. Делим число Л — (х + н/) на т A — (x-\-iy) = [a —(Ь — у) = (а—х)-р + (Ь—у)-д p+qi Р2 + Ч2 (6-t/)-p--(a —х)-<7 . p2 + q2 Для того чтобы в результате деления получилось комплексное число должны иметь место сравнения (а — х) р + (6 — У) q = 0 (mod р2 + q2), (6 — у) р — (а —х) q н= 0 (mod р2 + q2), которые эквивалентны (7.3). Таким образом, при выполнении (7.3) число х + iy является вычетом числа А по модулю т. Хотя для комплексных чисел не определены понятия «больше» и «меньше», однако представляется возможным определить понятие наименьшего вычета. Основная идея такого определения состоит в том, что поскольку опреде- ление комплексного вычета опирается на систему вещест- венных сравнений (7.3), то, потребовав, чтобы хр + yq и ур — xq были соответственно наименьшими вычетами по модулю р2 + q\ получим вполне определенное комплекс- ное число х + iy, которое естественно назвать наименьшим вычетом числа А по модулю т. Иначе говоря, предпола- гается, что хр + УЖРг + Я*— 1, ур — xq<p2 + q2 — 1. При этом следует различать наименьшие вычеты и абсо- лютно наименьшие вычеты. В первом случае предпола- гается, что хр + yq и ур —xq являются целыми положи- тельными числами, не превосходящими р2 + q2 — 1. Во втором случае предполагается, что эти величины могут быть как положительными, так и отрицательными, но не пре- восходящими по абсолютной величине числа . Если найдены наименьшие вычеты выражений ap + bq и bp — aq r = ap-\-bq (mod р2 + q2), г' = bp — aq (mod p2-\-q2), (1A) 383
то наименьший вычет числа А по модулю т равен г _|_ hi - rP~r,ci _l г'р + гс! ; а Х + 1У— p* + q* + р2 + <?2 1" 'ЛЬ' Пример. Определить наименьший вычет числа А = 15 -|- 2Z по модулю m = 34-2Z. Напишем систему сравнений (7.3) в условиях примера 49 == Зх-|-2г/ (mod 13), — 24 == Зг/2x (mod 13). Отсюда получаем уравнения Зх 2г/ = 10, — 2х~1~Зу — 2. Решение этой системы дает х — 2, у = 2, т. е. 2-f-2Z есть искомый наименьший вычет. Пример. В условиях предыдущего примера найти абсолютно наи- меньший вычет. Система уравнений для определения х и у в данном случае будет иметь вид Зх-|-2г/ = — 3, —2х-|-Зг/ = 2. Решением этой системы будут х——1, г/ = 0, т. е. —1 искомый абсолютно наименьший вычет. Свойства сравнений для вещественной области распро- страняются и на комплексную область, поэтому мы на них останавливаться не будем. Если комплексные числа не являются взаимно простыми, то они имеют общие делители. Здесь также можно ввести понятие общего наибольшего делителя как общего делителя с наибольшей нормой. Процесс нахождения общего наи- большего делителя двух комплексных чисел Л и Л2 ана- логичен применяемому для нахождения наибольшего общего делителя в вещественном случае. § 7.2. ФУНДАМЕНТАЛЬНАЯ ТЕОРЕМА ГАУССА Сейчас мы подошли к одному из наиболее интересных и важных вопросов теории целых комплексных чисел — к определению класса наименьших вычетов и связанной с этим теоремой Гаусса об изоморфизме между множест- вами вещественных и комплексных чисел. Определение. Если два множества можно так взаимно однозначно отобразить одно на другое, чтобы определен- ные в них соотношения при отображении не нарушились, 384
т. е. если каждому элементу а из множества X можно взаимно однозначно отнести элемент а из множества X, так, чтобы соотношения, существующие между любыми элементами a, b, с, d . . . из X, имели место и между соответствующими элементами а, Ъ, с, d ... из X и обрат- но, то эти множества называются изоморфными. В предыдущем параграфе мы установили, что наимень- ший вычет любого комплексного числа а + bi по комплекс- ному модулю р + qi определяется, исходя из системы двух вещественных сравнений ар + bq = г (mod p2 + q2), bp— aq = r' (mod p2 + q2), где гиг — наименьшие положительные вычеты по веще- ственному модулю N = р2 + q2- Так как для гиг' воз- можны значения 0, 1, ... N — 1, то могло на первый взгляд показаться, что наименьших комплексных вычетов может быть N2, получающихся при различных сочетаниях значений гиг'. Однако это не так. Величины г и г' не неза- висимы. Между ними существует определенная связь, которая ставит в соответствие каждому возможному значе- нию г вполне определенное значение г'. Установим эту связь. Умножая первое из сравнений (7.6) на р, а второе — на q и вычитая второе сравнение из первого, получим а (Р2 + 92) = rP — Г'Я (mod Р2 + <72) или r'q = гр (mod р2 + q2}. (7.7) Если р и q—-взаимно простые числа, то сравнение (7.7) имеет одно решение г' == tr (mod р2 + q2), где ^-^2^2) причем z таково, что / — целое, меньшее р2 + д2. Иллюстрируем сказанное примером. Пример. Определить все возможные пары значений г и г' при модуле р+<// = 3-|-4/. Так как 3 и 4 взаимно простые числа, то в данном случае 3+1.25 4 ~ 25-1365 385
и сравнение (7.7) имеет решение г’ == 7r (mod 25), что определяет следующие пары значений г и г' (0, 0); (1, 7); (2, 14); (3, 21); (4, 3); (5, 10); (6, 17); (7, 24); (8, 6); (9, 13); (10, 20); (11, 2); (12, 9); (13, 16); (14, 23); (15, 5); (16, 12); (17, 19); (18, 1); (19, 8); (20, 15); (21, 22); (22, 4); (23, 11); (24, 18). Изложенные соображения подводят нас к замечательной теореме Гаусса. Теорема 7.2. (Фундаментальная теорема Гаусса I.) По заданному комплексному модулю т = р + qi, норма кото- рого равна N = р2 q2 и для которого р и q являются взаимно простыми числами, каждое целое комплексное число сравнимо с одним и только одним вычетом из ряда 0, 1,2, 3, ... W-1. Доказательство. Известно из теории чисел, что для двух взаимно простых чисел р и q можно найти такие два целых числа и и у, что up + vq—\. (7.8) Напишем легко проверяемое тождество i = uq — vp + т (v + ui). (7.9) Пусть дано комплексное число а + Ы. Перепишем его, заменив i из (7.9) а + Ы = а + (uq — vp)• b + т (vb + ubi). Обозначим через h наименьший положительный веще- ственный вычет числа а + (uq — vp) b по модулю N и поло- жим, что а + (uq — vp) b = h + sN = h + s (p + qi) (p — qi) = = h + m(ps — qsi). Тогда будет выполняться равенство а Ц- Ы = h + т (ps — qsi) + m(vb + ubi) = = h + m [ps + vb + (ub — qs) i] или в форме сравнения a -h bi = h (mod m). (7.10) 386
Этим доказано, что а^Ы сравнимо с одним из чисел О, 1, 2 ... Af — 1 по модулю пг. Докажем теперь, что это число единственное. Допустим, что имеют место два срав- нения а-]-Ы ~ (mod m), a -\-bi ~ h2 (mod tn). По свойству сравнений числа hr и h2 сравнимы между собой по модулю т, т. е. = h2 (modm) или hi — h2 = 0 (mod m), т. e. hi~h2^m- (e-\-fi). (7.11) Из (7.11) следует, что будет выполнено равенство — h2) (р — qi) = ЛЛ (е + ft), которое эквивалентно следующим двум вещественным равенствам: (^-а2)-р=ж (hi-h2)-q=-Nf. Умножив первое равенство (7.12) на и и второе на v и сложив их, получим (hi — h2) (up -}-vq) = N (eu — fv), откуда, принимая во внимание (7.8), следует К — h2 = N (eu — fv) или hi-h2 ==0(mod N). (7.13) Так как по предположению hi < N и h2 < N, то (7.13) возможно только в случае hr = h2. Таким образом, отвергается возможность существова- ния двух чисел hi и h2, меньших #, которые были бы срав- нимы с а + Ы по модулю т. Имеется только одно такое число, которое определяется из сравнения a-]-(uq — vp)b == ft(modA0 (7.14) 25* 387
или a-{-bp== h (mod A/). Эта теорема устанавливает изоморфизм между комплекс- ными числами и их вещественными вычетами, определяе- мыми указанным выше образом. Определение. Выражение uq — vp, посредством кото- рого устанавливается соответствие между комплексным и вещественным вычетом по модулю р + qi, назовем коэф- фициентом изоморфизма и обозначим его через р. Пример. Решить сравнение 16 + 7/ = h (mod 5-|-2Z). Поскольку (5, 2) —1, то условие теоремы 7.2 выполняется, следовательно, существует полная система вещественных вычетов. Здесь коэффи- циент изоморфизма модуля 5 + 2/ равен p = uq — vp=2-1 +2-5= 12, так как up-{-vq= 1*5 — 2-2— 1. Поэтому 16 + 7-12 = h (mod 29), откуда h = 13 (mod 29). Следова- тельно, 16 + 7/ = 13 (mod 5+2/). Опираясь на эту теорему можно показать справедливость следующего: пусть для двух чисел и A2=a2-]-b2i существуют такие hb h2, h± и Лх, что Ai = hi (mod m), A2 = h2 (mod m), Ai ± A2 = h± (modm), Ai-A2 = hx (modm); тогда h± == hi + /z2(i™dAO, hx = hi-h2 (mod N), где N — норма m. Возвратимся к сравнению (7.7). До сих пор рассматри- вали решение этого сравнения и теорему Гаусса при усло- вии, когда р и q — взаимно простые числа. Рассмотрим теперь общий случай, когда р и q, а стало быть, и N = = р2 + q2 имеют общий множитель. Обозначим его через d. Получаем р = ed, q = fd, N = (e2 + f2) d2. В соответствии с теорией сравнение (7.7) в этом случае будет иметь d решений следующего вида: г' == a (modЛ/), г" =а + -^-(rnodA/), г' == а + -^-(modM)..., ..., + == ос + —- (modTV), (7.15) 388
N где a < -j- удовлетворяет сравнению fr' == er (mod (e2 + /2)d), (7.16) в котором уже выполнено условие взаимной простоты е и f и решение которого получается уже известным путем. Пример. Определить все возможные пары значений гиг' при р + ^’ = 3 + 6/. Сравнение (7.7) в условии примера имеет вид 6г' = Зг (mod 45). Здесь общий множитель d = 3. Сравнение (7.16) таково 2г' = г (mod 15). Это сравнение имеет решение r' = 8r (mod 15). Таким образом, имеем следующие три группы решений: г' = 8r (mod 45), г' = 8г + 15 (mod 45), г' = 8г + 30 (mod 45). Приведем таблицу всех пар (г', г). 1-я группа (0,0); (1,8); (2,16); (3,24); (4,32); (5,40); (6,3), (7.11); (8.19); (9.27); (10.35); (11, 43); (12, 6); (13, 14); (14, 22) 2-я группа (0, 15); (1,23); (2,31); (3,39); (4,2); (5, 10); "(6, 18); (7,26); (8.34); (9.42); (10, 5); (11, 13); (12, 21); (13.29); (14,37) 3-я группа (0,30); (1,38); (2,1); (3,9); (4,17); (5.25); (6,33); (7, 41); (8.4); (9, 12); (10, 20); (11, 28); (12, 36); (13, 44); (14, 7) Так же как и в случае взаимной простоты р и q общее коли- чество различных пар г' и г равно N. Сформулируем теперь теорему Гаусса в общем случае. Теорема 7.3. (Фундаментальная, теорема Гаусса II.) По комплексному модулю т = р + qi, норма которого N — = р2 + q2 и для которого р и q имеет наибольший общий делитель d> 1, каждое целое комплексное число а + Ы сравнимо с вычетом х + iy, обладающим тем свойством, что х является одним из чисел 0, 1, 2, ... N!d — 1, а у — одним из чисел 0, 1,2, . . . d — 1, причем только с одним единственным из всех N вычетов, имеющих такой вид. Заметим, что для модуля с не взаимно простыми компо- нентами уже не имеет места изоморфизм с вещественными числами. Здесь теорема Гаусса устанавливает наименьшие вычеты чисел а + Ы в виде комплексных чисел х 4- yi, 389
компоненты которых не превосходят по величине чисел d и Nld, каковы бы ни были числа а и Ь. Этот факт также является весьма существенным. Величины к и у определяются из соотношений: b = z/(mod d), a + (uq — = x (mod , (7.17) up + vq = d. Здесь также можно рассматривать не наименьшие поло- жительные вычеты, а абсолютно наименьшие вычеты. Рассмотрим выполнение арифметических операций в классе наименьших и абсолютно наименьших вычетов. Обратимся к фундаментальной теореме Гаусса. В соответ- ствии с установленным в ней изоморфизмом каждому ком- плексному наименьшему вычету х + iy по модулю т — = р + qi соответствует вещественный вычет h по модулю N = р2 + q2. Этот вещественный вычет вычисляется по формуле х + (uq — vp)-y = h (mod N), где и и v такие, что up + vq =Л. Пример. Определить вещественные наименьшие вычеты, соот- ветствующие комплексным наименьшим вычетам по модулю m = 3 + 4Z. Здесь и==— 1, uq — vp=— 7; — 3 + 3Z- 1, — 3-f-4/ — 19, — 24-2Z — 9, —2H-3Z — 2, —2 + 4/-20, — 2 + 5Z ~ 13, — 1-|-Z~17, — 1 4-2/~ 10, —14-3Z — 3, — 14-27 — 21, — 14-57—14, -14-67 — 7, 04- 07— 0, 7- 18 , 27 — 11, 37 — 4, 47 — 22, 5/~ 15, 67-8, 14-27 — 12, 1 4-3Z — 5, 14-47 — 23, 14-57 — 16, 24- 37 — 6, 2-J-4Z — 24. В соответствии с результатами примера может быть построена таблица изоморфности. Аналогичные таблицы могут быть построены и для операции сложения, умножения, формального деления и вообще для любой комбинации рациональных операций. Устанавливаемый теоремой Гаусса изоморфизм для модуля с взаимно простыми компонентами позволяет заме- нить выполнение рациональных операций над наименьшими комплексными вычетами выполнением тех же операций над соответствующими им вещественными вычетами по веще- ственному модулю, равному норме комплексного модуля. При этом с технической стороны выполнение операций над вещественными вычетами может быть осуществлено любыми арифметическими устройствами как табличного типа, так и сумматорами и множительными устройствами нетаблич- ного типа. 390
Что же касается комплексного модуля, компоненты которого содержат общий множитель, то в этом случае изоморфизм не имеет места. Между тем это не означает, что и здесь нельзя выполнение операций над комплексными наименьшими вычетами заменить выполнением операций над их вещественными эквивалентами, например, над порядковыми номерами от 1 до N (N — норма), присвоен- ными вполне произвольно этим наименьшим вычетам. Однако такая замена возможна только при табличном способе выполнения операций, при наличии таблицы поряд- ковых номеров. Пусть Wk — наименьший комплексный вычет, порядковый номер которого k (k = 1, 2, . . ., N). Пусть далее Wkl + W\2 = W\3(modm). Тогда в таблице вещественных эквивалентов в пересечении строки ki со столбцом k2 ставится число &3, хотя, вообще говоря, 4- k2 ф k3. Аналогично и для других рациональных операций. Очевидно, что выполнение операций над вещест- венными эквивалентами в арифметических устройствах нетабличного типа, реализующих вполне определенное соответствие между kt и k2, одинаковое для любых k{ и k2, в этом случае невозможно ввиду отсутствия такого соот- ветствия, которое выполнялось бы для любых и k2. Таким образом, и для модулей с взаимно не простыми компонентами возможна замена в операциях комплексных наименьших вычетов их вещественными эквивалентами. Пример. Составить таблицу умножения над вещественными эквивалентами по модулю т—2 + 2/. Прежде всего определим наименьшие комплексные вычеты по модулю 2 + 2/. Составим таблицу умножения для указанных ком- плексных вычетов 1 2 3 4 5 6 7 8 -1+/ — 1+2/ 0+0/ 0+/ 0+2/ 0+3/ 1 +/ 1+2/ 1) -ж 0+2/ —1+/ о+о/ ж 0+0/ 1+/ 0+2/ 1+/ 2) -1+2/ —1+/ -1+2/ 0+0/ 0+/ 0+2/ 0+3/ 1+/ 1+2/ 3) о+о/ о+о/ о+о/ о+о/ 0—0/ 0+0/ 0+0/ о+о/ о+о/ 4) 0+/ 1+/ о+/ 0+0/ 1+2/ 0+2/ —1+2/ — 1+/ о+з/ 5) 0+2/ 0+0/ 0+2/ 0+0/ 0+2/ 0+0/ 0+2/ 0+0г 0-|-2/ 6) о+з/ 1+/ о+з/ о+о/ —1+2/ 0+2/ 1+2/ —1-Н о+/ 7) 1+/ 0+2/ о+о/ 1+/ о+о/ —1-Н 0+2/ Ж 8) 1+2/ 1+/ 1+2/ O-j—OZ 0+3/ 0+2/ 0+/ 1+/ -1+2/ 391
На основании этой таблицы составим таблицу умножения в поряд- ковых номерах вычетов. ции в вещественных эквивалентах порядковыми номерами возмож- на лишь табличным путем. Аналогичным путем могут быть составлены таблицы операций и для абсолютно наименьших вычетов как в случае взаимно про- стых компонент комплексного модуля, так и при наличии у этих компонент общего делителя. § 7.3. ПОЛНАЯ СИСТЕМА ВЫЧЕТОВ. ГЕОМЕТРИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ В настоящем параграфе будут рассмотрены способы полу- чения полной системы вычетов по комплексному модулю. Здесь целесообразно наряду с чисто арифметическими способами указать также и некоторые геометрические построения, приводящие к получению полной системы вычетов, опирающиеся на геометрическую интерпретацию целых комплексных чисел. Как известно, комплексные числа представляются точ- ками на плоскости. Выберем прямоугольную декартовую систему координат с осями X и Y и единицей масштаба е и проведем две системы прямых, параллельных осям соот- ветственно оси X и Y и отстоящих одна от параллельной ей другой на расстоянии е. Начало координат (точку пере- сечения осей X и У) обозначим через О (рис. 7.1). Тогда точки пересечения этих прямых будут изображать целые комплексные числа. По оси абсцисс будут откладываться значения вещест- венных частей комплексного числа, а по оси ординат — значения мнимых частей. Таким образом, точка М с коор- 392
динатами (р, q) изображает комплексное число р + qi. Прямая ОМ представляет величину УN. Сама норма N представляется площадью квадрата, построенного на пря- мой ОМ (квадрат ORLM). Здесь OR = ОМ — RL = Рис. 7.1. Геометрическое представление комплексных чисел. = LM = yN. Если всю плоскость покрыть такими ква- дратами (проведением прямых, параллельных соответствен- но ОМ и OR, на расстояниях, N одна от другой), то вершинам этих квадратов будут соответствовать числа, кратные р + qi- Так, из условия перпендикулярности OR к ОМ следует, что точке R соответствует комплексное число —q + pi и частное = i- Вследствие парал- лельности ОМ и RL точке L будет соответствовать ком- плексное число (р — q) + (р + q) i и соответствующее частное будет равно 1 + Л Пронумеруем прямые, парал- 393
дельные OR и ОМ, номерами 0 (прямая OR), 1,2,.. ., I, —1, —2, . . ., —I и 0 (прямая ОМ), 1, 2, . . ., $, — 1, —2, . . ., —s. Пусть дана вершина такого квадрата, образованного / прямой, параллельной OR, и s прямой, параллельной ОМ. Точке Т будет соответствовать число I (р + qi) + + s (—q + pi) = Ip —sq + (lq + sp) i, и частное от деления этого числа на р + qi равно I — si. Что касается точек, лежащих внутри какого-либо квадрата или на его сторонах, но не совпадающих с его вершинами, то они представляют числа, не делящиеся на данный модуль р + qi- Пусть даны два каких-либо квадрата Г и А. Наложим эти квадраты один на другой так, чтобы их соответствую- щие вершины совпали. Назовем внутренние точки этих квадратов, совпавшие при таком наложении, конгруент- ными. Имеет место весьма важное свойство, которое сфор- мулируем в виде следующей теоремы. Теорема 7.4. Числа, изображенные конгруентными точками, сравнимы между собой по модулю р + qi. Для простоты возьмем в качестве одного из квадратов квадрат ORLM, вершина О которого совпадает с началом координат. Второй квадрат будем полагать таким, что его вершина Т, соответствующая при наложении точке О, изображает число (1р — sq) + (lq + sp) i. Пусть некоторая внутренняя точка W квадрата ORLM изображает число А = а + bi. Тогда конгруентная ей точка будет изображать число В = (1р — sq + а) + + (lq + sp + b) i. Разность же В — А = (1р — sq) + + (lq + sp) i, как показано выше, делится на р + qi. Сле- довательно, В == A (mod р + qi). Для того чтобы теорема была доказана для любой пары конгруентных точек, можно каждый из квадратов сопо- ставить с квадратом ORLM, и если В и В' изображаются точками двух разных квадратов, каждая из которых кон- груентна точке, изображающей число А, то имеют место сравнения В = A (mod р + qi), В' == A (mod p + qi), откуда и следует, что В = В' (mod р+ <?/). 394
Из этой теоремы легко сделать следующий вывод: всего несравнимых между собой чисел может быть столько, сколько целых точек находится внутри любого квадрата и на его двух непараллельных сторонах, включая и одну вершину, и все эти точки определяют в совокупности пол- ную систему вычетов по данному модулю. Можно геоме- трически показать, что количество таких точек равно N = = р2 + 72 и что> следовательно, количество вычетов в пол- ной системе равно N. Однако это уже было чисто ариф- метическим путем установлено фундаментальными теоре- мами Гаусса как для модулей с взаимно простыми вещест- венной и мнимой частями, так и для модулей, у которых эти части имеют общий делитель, отличный от единицы. Особую роль играют 4 квадрата, имеющие общую вер- шину в точке О. Точки квадратов имеют в известном смысле «наименьшие» координаты. Под этим понимается следую- щее: пусть G Qi, т]1) —точка квадрата ORLM и Н (|2, Лг) — конгруентная ей точка любого другого квадрата (не имею- щего своей вершиной точку О). Тогда имеет место | | < <112 I, I Л1 К I Л2 |. Естественно поэтому выбрать какой-либо из этих ква- дратов, в частности квадрат ORLM, как содержащий точки, соответствующие наименьшим вычетам и составляющие полную систему наименьших вычетов. Что касается осталь- ных трех квадратов этого типа, то они, как легко видеть, содержат точки, представляющие числа, ассоциированные с определенными выше наименьшими вычетами. Таким образом, полная система наименьших вычетов по модулю т — р + qi может быть получена геометрически построением квадрата со стороной = ]/р2 + <?2, про- ходящим через точку О, и перечислением всех целых ком- плексных чисел, представляемых внутренними точками этого квадрата. Пример. Составить таблицу всех наименьших вычетов по моду- лю т = 3 + 4/ геометрическим построением. На рис. 7.2 представлен квадрат, построенный на стороне ”]/32 + 42^=5. Перечислим все целые точки внутри квадрата, начиная слева и двигаясь по вертикалям. Всего таких точек TV = З2 -|-42 = 25: — 3-|-3/, -34-4/, — 2 + 2/, —2 + 3/, —2 + 4/, -2 + 5/, -1+/, — 1+2/, -1 + 3/, -1+4/, —1+5/, —1+6/, 0, /, 2/, 3/, 4/, 5/, 6/, 1 + 2/, 1 + 3/; 1+4/; 1+5/, 2 + 3/, 2 + 4/. Здесь наименьшие вычеты представлены только вну- тренними точками. На сторонах квадрата не оказалось 395
целых точек. Это характерно для модулей с взаимно про- стыми р и q. Если р и q имеют общие множители, то целые точки содержатся также и на сторонах квадрата. Рассмотрим другой чисто арифметический метод опре- деления полной системы наименьших вычетов. Метод определения границ. Пусть tn = р + qi — задан- ный модуль и х + iy — наименьший вычет по этому модулю. Метод состоит в том, что Рис. 7.2. Геометрическое пред- ставление полной меньших системы наи- вычетов по модулю т = 3 + 4Z. сначала определяются границы изменения вещественной части; в пределах этих границ устанавливаются границы возможных зна- чений мнимой части. Опре- деление границ ведется ис- ходя из того, что для наименьшего вычета долж- ны выполняться условия: л рх + УУ р2+у2 ру—qx р2+д* о j (7.18) ИЛИ 0 < рх 4- qy = г < р2 + д2, 0 < ру — qx = г' < р2 + q2- (7-19) Помимо рассмотренных наименьших вычетов и спо- собов нахождения полной системы наименьших вычетов для нас в дальнейшем большую роль будут играть абсолют- но наименьшие вычеты, которые были определены ранее в § 7.1. Нахождение полной системы абсолютно наимень- ших вычетов может быть легко осуществлено определения границ. Исходные неравенства (7.18) перепишутся для этой цели в виде 1 2 р2-Н2 методом и (7.19) или 1 P*+qy 1 2 p2+q2 2 ’ РУ—дх , 2 (7.20) — у N <px + qy = r<±- N, — у W —^х-=г'<у У. (7.21) 396
Пример. Найти полную систему абсолютно наименьших вычетов по модулю т = 3 + 4/. Здесь система неравенств (7.21) примет вид —12 < 3% + 4г/ = г < 12, — 12 + — 4х + Зг/ = г' + 12. Для гиг' возможны значения —12, —11, ..., О, 1, ..., 12. Из приведенной системы получаем уравнение 25х = 3г —4г'. Величина х получит свое наибольшее положительное значение при г= +12, г'= — 12, т. е. 25хтах = 84, откуда хтах=1 — = 3. Соответственно свое наименьшее отрицательное значение величина х получит при г =—12, г'= + 12, что дает хт[П = — 3. Итак, для х возможны значения —3, —2, —1, 0, 1, 2, 3. Вычислим соответ- ствующие значения у. 1. х=-3 —12<-9 + 4г/<12, - 3<4г/<21, — 12 < 12 + Зу < 12, —24 < Зу <0. Проверкой устанавливаем, что этим неравенствам удовлетворяет только одно значение у = 0. 2. х=—2; —12<-6 + 4г/<12, — 6<4г/<18, — 12<8 + Зг/< 12, -20<3# <4. Из этих неравенств получаем: у=~ 1, у = 0, у-1. 3. х=- 1 —12< —3 + 4z/< 12, —9<4г/<15, - 12 < 4 + Зу < 12, - 16 < Зу < 8. Для у получаются значения: у =—2, у— — 1, z/ = 0, у = 1, у = 2. 4. х = 0 - 12<4г/<12, — 12<3z/<12. Получаем для у значения: у— — 3, 2, г/= — 1, t/ = 0, z/=l, r/ = 2, z/ = 3. 5. х=1 —12<3+-4y<12, — 15<4r/<9, — 12<-4 + Зг/<12, -8 <3у < 16. Для у получаются значения: у—— 2, г/= — 1, r/ = 0, г/= 1, у — 2< 6. х = 2, —12<6 + 4z/< 12; —18<4г/<6; — 12 <—8 + Зг/< 12; — 4<Зг/<20. Получаем возможные значения: у=—1; i/ = 0; z/=l. 7. x = 3 - 12 <9 + 4#< 12; -21<4#<3; — 12 <-12 + 3# <12; 0 < Зу < 24. Для у получается значение: г/ = 0. Всего получено также N = 25 значений абсолютно наименьших вычетов. 397
Перейдем теперь к геометрической интерпретации пол- ной системы абсолютно наименьших вычетов. Пусть модуль т = р + qi. Обратимся к рис. 7.1. Напишем координаты вершин квадрата ORLM: О {о, о), R(—q,p), L (р—qf р + q), М (р, q). Напишем уравнения прямых, пересечением которых образован квадрат: прямая ОМ: py — qx = 0, прямая OR: рх + qy = O, прямая RL: py — qx = N, (7.22) прямая LM: px-\-qy = N. Сопоставляя эти уравнения с (7.19), видим, что они отражают ограничения в допустимых изменениях величин х и ^-компонентов комплексных наименьших вычетов, входящих в полную систему. Из (7.21) следует, что содержащиеся здесь ограничения в допустимых изменениях величин х и у-компонентов абсо- лютно наименьших вычетов составляют уравнения прямых, пересечением которых образуется квадрат, содержащий внутренние точки, соответствующие полной системе абсо- лютно наименьших вычетов в следующем виде: N N py-qx= py-qx^^-, px^qy =—2' Px + qy=T- <7-23) На рис. 7.3 изображен квадрат, ограниченный сторо- нами, уравнения которых представлены (7.23). Здесь вер- шины квадрата имеют следующие координаты -V) • C(V’ 41) • р-'-я . Р~Я\ М ( Р—Я . р+я \ 2 ’ 2 / ’ к 2 ’ 2 / Приведем геометрическую интерпретацию теоремы Гаусса. Ранее было показано, что все числа а + Ы, делящиеся на заданное комплексное число т = р + qi, разбивают бесконечную плоскость на множество квадратов со сторо- 398
ной, равной ]/р2q2. Каждому числу, не делящемуся на модуль т — р qi, соответствует точка, расположен- ная внутри одного из таких квадратов. Все числа внутри некоторого определенного квадрата вместе с нулем образуют полную систему вычетов. Сле- довательно, существует бесконечное множество полных систем вычетов. Полную систему наименьших вычетов содержит только квадрат ORLM.. Далее, известно, что числа, сравнимые по Рис. 7.3. Геометрическое представление полной системы абсолютно-наименьших вычетов по модулю т — р + qi. модулю т, занимают в своих квадратах конгруентные положения. Выберем среди множества квадратов квадраты, которые содержат вещественные вычеты от 0 до N — 1. На нашем чертеже это будут квадраты OMNiN2'> NtMN3N^ NiN,N5NQ; N,N7N8N5 (cm. рис. 7.1). Среди этих квадратов, очевидно, нет таких, которые конгруентны относительно вещественной оси. В самом деле, по предположению (р, </) = 1, поэтому первым в натураль- ном ряду вещественным числом, делящимся на модуль т = р + qi, будет число р2 + q2 (на рис. 7.1 вершина квадрата N8), следовательно, только начиная с квадрата N8N9Nio^n и наступает повторение указанных квадра- тов, а это значит, что для всех вещественных вычетов из указанных квадратов найдутся конгруентные точки в квад- рате ORLM полной системы наименьших вычетов. 399
§ 7.4. ПЕРВООБРАЗНЫЕ КОРНИ И ИНДЕКСЫ Теорема 7.5. Если а + Ы — целое комплексное число, Взаимно простое с простым числом т = р + qi, норма которого равна N = р2 + ?2, то (а + bi)1*-1 = 1 (mod т). Доказательство. Пусть А означает совокупность полной системы вычетов а, (3, у, ... по модулю т, из которой выброшен нулевой вычет. Образуем произведения (a-\-bi)a, (а+Ы)$, (а+ЬГ)у, ..., совокупность которых обозначим через Л'. Очевидно, ни одно из этих произведений не делится на т и поэтому каждое из них имеет сравнимый с ним вычет в совокупности А, т. е. (a + bi)a == a' (modm), (a-\-bi)$ == Р' (modm), (а + Ы)-у == у' (modm), ..., где а', Р', у', ...—числа из совокупности А. Совокупность чисел а', Р', у', ... обозначим через А". Далее образуем такие произведения чисел в каждой совокупности Л, Л', Л": Р = оф у ..., Р' = (a + bi)N~l ару ... = (а + bi)N~l -Р, Р" = а'-Р'-у' ... Но числа совокупности Л" последовательно сравнимы с числами совокупности Л' и Р' — Р" (mod m) (так как числа совокупности Л" совпадают с числами совокупности Л, взятыми в измененном порядке), поэтому Р == Р' (mod m) или Р = (a + bi)N~l P(modm), [(а + — 1 ] Р = 0 (mod m), откуда, так как т —простое число и не входит в отдель- ные делители числа Р = а-р-у ... (а + bi)N~1 — 1 == 0 (mod m) или (a + fo’)77-1 == 1 (modm), что и требовалось доказать. 400
Теорема 7.6. Если а + Ы — целое комплексное число, взаимно простое с простым целым комплексным числом т = р + qi с нормой, равной N, a t — наименьший пока- затель, для которого (а + bi)1 == 1 (mod m), то t является делителем всякого другого показателя k, для которого (а + Ы)к == 1 (mod т). Доказательство. Предположим, что t не является дели- телем k; очевидно, существует такое целое число п, для которого разность nt — k < t. Далее из (а + bi)1 = == 1 (mod т) и (а + Ы)к = 1 (mod т) следует, что (а + bi)nt — (а + Ы)к = (mod m), откуда (a + bi)h-[(a + bi)nt~k — 1] ~ 0 (modz/г) или (a-\-bi)nt~k == 1 (modm), t. e. пришли к тому, что существует степень числа а + Ы с показателем, меньшим, чем /, которая сравнима с еди- ницей. Это противоречит предположению. Следствие, t делит или равно N— 1, так как по тео- реме 7.5 (a + bi)N~i == 1 (modm). Определение. Целое комплексное число Л, взаимно простое с простым целым комплексным числом т, с нор- мой, равной W, называется первообразным корнем по модулю т, если наименьший показатель степени числа h, сравнимой с единицей по модулю т, равен Л/ —1. Теорема 7.7. Если h обозначает первообразный корень по модулю т, норма которого равна #, то члены ряда 1, Л, Л2, ..., hN~2 будут попарно несравнимы между собой, т. е. этот рйд представляет полную систему вычетов, если к нему присоединить нулевой элемент. Доказательство. Действительно, из hl == hk (mod m) 26-1365 401
следовало бы hl~h = 1 (modm) 0</ — k<zp— 1. Это противоречит определению первообразного корня, т. е. условию теоремы, следовательно, имеем N — 1 несрав- нимых между собой чисел, образующих полную систему вычетов, за исключением нулевого вычета. Из теоремы 7.7 вытекает, что для всякого числа А = а-\-Ы, взаимно простого с модулем иг, сравнение hx = A (mod/n) имеет единственное решение р. Как и в слу- чае вещественных чисел, назовем р индексом числа А по модулю т. По аналогии с областью вещественных чисел справедливо следующее: ind [(а-|-Ы) (с4-di)• (А 4- //) • • • ] = ss (ind (a A-bi) A- ind (c 4-di) 4- ind(& 4- .. . XmodA/' — 1). В самом деле имеем: а 4- Ы = Alnd <n+bi> (mod т), с 4- di == Alnd <c+rfi) (mod tn), k + li = hini<'k+li'> (modffi), После перемножения получим (a 4- bi) • (c 4- di) • (k 4- li) ... t= = ^ind(<i+bi)-|-ind(c+di)-hind(ft+H)+.. . (modm), с другой стороны, (п 4- bi) • (с 4- di) • (k 4- li) ... == = /jind[(<l4-bi)-(c4-<ii).(Л-|-И). • -](mod tn). Анализируя два последних выражения, приходим к ут верждению ind [(а 4-6г) • (с +dz) • (& + А) ...]^ = (ind (a A-bi) A ind (с4- di) 4- ind (k 4- li) 4- .. . )(mod/V — 1) 402
Пример. Построим таблицу индексов для модуля 5 + 2/. Здесь в качестве первообразного корня, т. е. за основание индекса можно принять 2, так как 228 = 1 (mod 5 + 2/). Находим: 2° = 1 2Ю = —з+/ 220 = — 1 + 2/ 21 = 2 2И = 1-Z 221 = — / 22 = — 1—2/ 212 = 2-2/ 222 = -2+2/ 23 = 1+3/ 213 = 2+Z 223 = -2 + Z 2*=-1-/ 2Х4 = — 1 22< = 3-Z 25= — 2 — 2/ 2™ = — 2 225 = — 1 + / 26 = 1—2/ 2Ю = 1+2/ 226 = — 2 + 2/ 27 = / 217 = -1—3/ 227 = — 2 — 1 28 = 2/ 218 = 1 + / 29 = 2 — Z 219 = 2 + 2/ Поэтому таблица будет представлена в следующем виде: т = 54-2z; N = 29; h = 2. Ин- декс Вычет Ин- декс Вычет Ин- декс Вычет Ин- декс Вычет 0 1 8 21 15 —2 22 -2+2/ 1 2 9 2—1 16 1+2/ 23 -2+/ 2 —1—2/ 10 —3+z 1-Z 17 — 1-3Z 24 3-Z 3 1+3/ 11 18 1+/ 25 —1+Z 4 -1-/ 12 2—2/ 19 2+2/ 26 —2+2/ 5 6 7 -2-2/ 1- 21 i 13 14 2+Z —1 20 21 -1+2/ —Z 27 -2-1 7.5. СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ В КОМПЛЕКСНОЙ ОБЛАСТИ В настоящем параграфе по аналогии с вещественной областью будем строить систему остаточных классов для целых комплексных чисел. Выберем п взаимно простых комплексных чисел т2, /Я/, /яп основаниями системы М. и пусть М = т^т2 • • - , /яп. 26* 403
Назовем комплексное число А = а + Ы представимым в данной системе М, если а + Ы является наименьшим вычетом по модулю М, в противном случае А не представимо в данной системе. Так как норма М равна произведению норм т,, а количество наименьших вычетов равно нор- ме М, то общее количество представимых чисел равно произведению норм оснований. Обозначим наименьшие комплексные вычеты числа А по основаниям т2, ..., тп соответственно через а2, • • •, <*п. Теорема 7.8. В системе с взаимно простыми основа- ниями т2, ..., тп любое представимое число А = а + Ы единственным образом изображается совокупностью своих наименьших вычетов по основаниям системы: (а1? а2, ..., ап). Доказательство. Согласно определению величин а2, ..., ап имеют место сравнения: А == cq (mod mJ, А = а2 (mod т2), (7.24) А = ап (mod тп). Допустим, что существует еще одно представимое число Д', изображаемое той же совокупностью наимень- ших вычетов. Тогда для него справедливы те же срав- нения А' = a^modmj, А' = a2(modm2), А' ~ an(modmn). 404
Отсюда следует, что должны выполняться и сравнения: А' = A (modffij), А' = A (mod/n2), А' = А (mod/Пп). Тогда в силу взаимной простоты оснований А' = Л(тойТЙ). Мы предположили, что А и А' — представимые числа. Все элементы класса наименьших вычетов несравнимы между собой, следовательно, А и А' как сравнимые между собой элементы этого класса тождественно совпадают. Итак, представимое число А изображается в виде А = (ап «2, ..., ап). Допустим, что А изображается и дру- гим набором наименьших вычетов Л = (0П р2, • • •, 0Д Это означает, что выполняются сравнения: А = 0! (mod/nj), А = 02(mod/n2), (7.25) Л = 0„ (mod тп). Сопоставляя (7.24) с (7.25), получаем сравнения cq == 0! (modmj), «2 = 02 (modm2), an=s0n(mod тп), откуда по изложенным выше соображениям следует at —- 0lt а2 = 02, • ••, «n = 0n- Вычеты at, a2, ..., an будем назы- вать цифрами представления числа в данной системе. Приведем пример представления чисел в системе остаточных классов ffZj = 2-{-3Z, /Л'2 — 3-j-4Z, /П3 = 1 -|-4Z, Л4= — 74— 7Z. Норма W = 5525 405
Пример. Показать, что число А =—56 — 78/ является предста- вимым числом и написать его изображение в принятой системе. Надо показать, что А=— 56 — 78/— наименьший вычет по модулю — 74 — 7/. По формуле (7.5) получаем х =—56 и у— — 78. По той же формуле найдем цифры числа А (Z|=::2-{-3/j о&2 — 5/; 0С3 = —2 + 2/. Итак Л = -56 + 78/ = (—2 + 3/; 5/; — 2 + 2/). Выше введена система остаточных классов для ком- плексных чисел, беря в качестве цифр представления числа А наименьшие вычеты А по основаниям системы. Аналогичным образом может быть построена система оста- точных классов, если в качестве цифр представления чис- ла А брать его абсолютно наименьшие вычеты. С точки зрения вещественной системы остаточных классов такой путь эквивалентен применению как положительных, так и отрицательных цифр по вещественному основанию pt с тем, чтобы | . Для комплексной области воз- можность построения системы с абсолютно наименьшими вычетами в качестве цифр имеет очень важное значение ввиду особенностей в расположении представимых чисел в общем диапазоне, присущих этому способу представления. Для представления посредством абсолютно наименьших вычетов имеет место теорема, аналогичная теореме 7.8 о единственности изображения представимого числа в сис- теме с взаимно простыми основаниями. При этом, разу- меется, представимое число определяется как принадле- жащее к классу абсолютно наименьших вычетов по модулю М. Теоретически важным вопросом является выработка признака, по которому можно судить о принадлежности данного числа к совокупности чисел М, описываемых избранными основаниями. Если в вещественной области этот вопрос решается просто: число А £ еР тогда и только тогда, когда А < еР, где еР — произведение вещественных оснований, то в комплексной плоскости соответствующий критерий выражается системой неравенств, практическое использование которых осложнено. В частности, для того чтобы заданное число А = а + bi 40§
было представимо в системе М = р qi наименьших выче- тов, необходимо и достаточно, чтобы выполнялись условия О < ар -f- bq = г < р2 + <?2 = N, 0^bp — aq = r'<Zp2 + q2 = N. (7.26) Найдем теперь условия, накладываемые на составляю' щие комплексного числа А — а + bi, представимого в систе- ме М. Теорема 7.9. Если Л = а-(-6г, представимо в системе М — р + qi наименьших вычетов, то для компонент а и b имеет место: a) —q<Za<Z р, Q<b<Zp + q при р>0, </>-0; б) 0 < а < р — <7, q <b<p в) р — <? < а < 0, p<Zb<Zq г) р<.а<_ — q, p + q<b<0 при р > 0, </< 0; при р<0, </>0; при р<0, q<Z 0. (7.27) (7.28) принять выраже- Доказательство. Пусть А = а-±Ы представимо в систе- ме М наименьших вычетов, тогда из (7.26) следует a = PL=v' и N ’ /, qr+pr' N где 0 < г <Z Af; 0 < г' < Af. а) По условию р>0, <?>0, поэтому если r = N и г'—0 в выражении (7.27) и r — r' — N в нии (7.28), то получим n pr — qr’ pN h qr + pr' qN-]-pN t. e. a<z p, b<Zq + p- С другой стороны, приняв в (7.27) г = 0, г' = N и в (7.28) г = г' = 0, получим а> — q, b>Q. б) По условию р>0, <7<0, поэтому pr-qr^ _ N N - - Р Чу h_qr-\-pr’ ^Q-q + pN и~ N N ~~Р- 407
С другой стороны, р-0-q-O _п , p-0 + qN _ а>------jy--V, b>-----------— q. в) Так как р<0, 7>0, то ,р-0 —д-0 л , . pAZ + p-O a<p—^=-Q, b< у = q, p-N — qN , q-O + pN a>—-^-- = p — q, b>< =p. г) При р<0, <7< О _p1O_^v_ ь<Р±+ч-° =Q u<- n 4, u^> N u, pN~q-0 , qN-\-pN . a> n = b> N =Я + Р- Определение. Целое комплексное число Д = а + Ы будем называть представимым в системе абсолютно наи- меньших вычетов, если оно является абсолютно наимень- шим вычетом по модулю М = р + qi. Подобно системе наименьших вычетов можно найти необходимые и достаточные условия представимости числа А в системе М абсолютно наименьших вычетов с нормой N, которые суть ---^-<ap + bq=--r<-^- N N -—^bp-aq^-r . Теорема 7.10. Если А~а-[-Ы представимо в M—p + qi абсолютно наименьших вычетов, то ненты а и b удовлетворяют следующим условиям: (7.29) системе компо- а) —i-(p + <7)<a<y(p4-?), -у(Р+<7)<&<7(Р+0 при р > 0, q > 0; б) в) г) Р~Ч Р — Ч 2 2 при р>0, ^<0; р—ч —р + ч 2 2 при р < 0, q > 0; Р + ч — Р — ч 2 2 при р<0, <7<0, р—ч р—ч 2 2 р—ч —р+р 2 '= 2 р + ч А —Р — Ч 2 * 2 408
Доказательство. Предположим, А = а-\-Ы представимо в системе М = р + qi абсолютно наименьших вычетов, тогда N где а-Р-Чг^' (7-3°) b = (7.31) W N N 2 ’ 2 2 а) По условию р>0, д>0, следовательно, если при- нять в выражениях (7.30) и (7.31) соответственно N , W /V , W г = Г и г = -2-, г = то получим верхние границы для а и Ь N , N N , W Р 2 + <? 2 _ р + <7 , Я 2 +РТ _ p + q ~ 2 ’ JV ' ~ 2 Для нижних границ положим в выражениях (7.30) и (7.31) соответственно значения: Аналогично доказываются случаи б, в и г. При выполнении арифметических операций соотноше- ния между цифрами представления компонент операций и результата те же, что и в вещественной области Теорема 7.11. Пусть A = (aj, а2, ..., аЛ), B=z(pn р2, РД С - А + В = (уп у2, ..., Утг); тогда а, + = ==Yj + 'trmj’ где Tj—одно из чисел 0, 1, f, 1 + * в системе первого типа и дополнительное в системе второго типа. Доказательство. Пусть aj = $j = a2-\-b2i. То обстоятельство, что aj и (3;-— цифры по основанию mj — 409
= PjA-qji, означает для системы первого типа, что: n biPi ~ aiPj , n aiPj+bi<h , P1 2j+$ <1’ P} + ^ <b (7.32) _ a2Pj + b2qj b2pj - a2qj Для суммы + можно написать «у + Pj _ (al + аг) Pj + (&1 + ^2) Pj (^1 + 62) Pj — (ai + a2) Pj . Pj + iPj ~ P2+p] P2+P2 1' (7.33) В сопоставлении с (7.32) можно написать Ц- а2) Pj + -|- b2) qj (bi~[-b2)pj — (al-ra2)qj Р2 + Ч2 P2j + P2j (7.34) т. e. в каждой из этих дробей можно выделить целую часть, равную 0 или 1, откуда и следует утверждение теоремы. Для системы второго типа имеют место неравенства: 1 ^biPj~aiPj 1 1 ^atPj + btfj 1 2 < p^ + qj < 2 ’ 2< pj + q^ 2 ’ (7.35) 1 ^a2pj+b2pj 1 1 ^b2pj — a2qj^ 1 pj + ql ^2’ ~2^ p^qj Тогда можно написать (at + а2) pj + (6j + b2) qj P} + P2j <L , (^1 + b2) Pj — («j + a2) qj Pf+P* <I (7.36) Из этих неравенств также следует утверждение теоремы для представления в системе второго типа. Пусть А (а1; а2, ...,«») н В (Рп р2, • • , Рп) — Два целых комплексных числа, представленных в системе М, где а,-, Ру — наименьшие или абсолютно наименьшие вычеты. 410
Тогда, если А ± В, АВ представимы в системе М, на основании свойства сравнений имеем: А + В = (<х± -р а2 + Рг! • •! ап + Рп)> A — B = (at — Pi; а2 — Рг! . ..;ап — РД Л-В = (агр1; а2-Рг; . ..;ап-₽п). При этом сумма о^ + Р;, произведение czj-Pj и разность aj — Р; берутся соответственно по модулям tnj. Пример. a) A = 4+5Z = (~Z, -1, — 2Z); B=l —4Z = (—Z, -1,-1-/). Пусть в качестве системы М взяты tn±=== 1 -j- Z, tn^ — 2 -J- Z , /723 = 3 -j— 2/ , тогда M = — 3 + 11Z. Найдем сумму = — 1, —2Z)+ (-—/, —1, — 1—/) = — ( —2Z, —2, —1 — 3Z) или в абсолютно наименьших вычетах 44-В = (0, Z, 2/). Легко проверяется, что число (О, z, 2Z) есть 5-{-Z и равно сумме (4 + 5Z) -f-(1 — 4Z). б) 4==3+5Z = (0, Z, 2); В = 1 + 4/= (—Z, Z, -Z). Найдем разность A — B = (i, 0, 2-f-Z) или в абсолютно наименьших вычетах А — В — (— /, 0, — 1 — Z). Непосредственной проверкой уста- навливаем, что число ( —Z, 0, — 1 —Z) есть 2 + Z и равно разности (3 + 5Z)-(l + 4Z). в) 4=14-3Z —(0, 0, -2/); В = 1 + Z = (0, -/, 1+Z). Найдем произведение ЛВ—(0, 0, 2 — 2/) или в абсолютно наи- меньших вычетах АВ — (0, 0, /). Проверкой убеждаемся, что число (0,0,/) действительно представляет собой произведение (14-3/) х X(l+Z)=-2 + 4Z. Рассмотренные операции сложения, вычитания и умно- жения относятся к числу точно выполнимых над любыми произвольно взятыми числами; с точки зрения единствен- ности достаточно требовать невыхода результата операции за принятый диапазон представления чисел. Деление же выполнимо далеко не всегда. Поэтому в системе остаточных классов мы рассматриваем операцию деления только в тех случаях, когда оно может быть выпол- нено с получением точного частного. Однако вообще можно 411
рассматривать и случай деления, когда частное не является целым числом. В этом случае мы получаем формальное частное. Пусть A = (at, <х2, . .., ая) делится без остатка на В = = (Pi, Рг» • • •, Рп). Найдем частное C = 4- = (Yi, Уг, .... Yn), В откуда СВ = А и (PiYi — P2Y2 ~ k2m2, ..., рпуп — knmn) = (ab a2, ..., <xn), где kj, очевидно, есть один из вычетов полной системы по модулю mj. Из этого равенства имеем • __ ai + МЧ ’ _ а2 + ^2 ’ _ an + k7lmn Y1 —-----:---, Y2 —-----•---, \п —-----;-----, Р1 ?2 Рп откуда видно, что компоненты частного получаются пораз- рядным делением соответствующих компонент делимого и делителя, при этом если отсутствует делимость нацело, то к компоненте делимого прибавляется соответствующее основание, умноженное на такой его вычет kj, чтобы а7- + + kjrrij делилось нацело на ру. Очевидно, такое деление единственным образом определит цифру у;, если kj будет взято из полной системы вычетов. Пример. Возьмем систему М. в следующем виде: /72|—2—я?2 = 3 + 2/; = 4 +Л4 = 9 + 32/. Разделим в данной системе 2 + 4/= ( — 1; 1 —Z; — 1 — /) на число 3 + / = (1, -/, -1) 2 + 4/ / —1 1—/ — 1 — /\ . ........ -зТГ=(—; ———j—) = (->; 1+z; 1+0- Проверкой убеждаемся, что (—1; 1+/; 1 + /) представляет собой частное от деления 2 + 4/ на 3 + /, т. е. 1 + /. Пример Возьмем систему щ1=1 + /; m2 = 2 + /; т3 = 3 + 2/; 3+11/. Рассмотрим деление числа 4 + 4/ на число — 4 + / с получением формального частного 4 + 4/ (0,1, -2) _о)—— 1J-5z — - (1, -1, 1) -(°’ *’ 2>~ !+5г’ 412
Действительно, — 1+5/ есть формальное частное, получаемое, когда в качестве делимого берется 4 + 4Z плюс произведение —2-|-Z на модуль системы —3+ 11/. Если делитель делится на какое-нибудь основание nij, то это означает, что остаток по этому основанию равен нулю, но так как предполагается, что деление выполняется нацело, то соответствующий остаток делимого тоже равен нулю, поэтому мы имеем в этом случае поразрядное деле- ние , т. е. неопределенность. Раскрытие такого рода неопределенностей требует привлечения дополнительных соображений. Методика перевода числа А (аь а2, ..., ап) из системы остаточных классов в позиционную систему та же, что и для вещественной области. Выбираются ортогональные базисы системы: В, = (1, 0, 0, ..., 0), В2 = (0, 1, 0, ..., 0), (7.37) Вп = (0, 0, ..., 0, 1), такие, что А = сх^В^ + а2В2 + ... + (ХпВп (mod /И). (7.38) Из (7.37) видно, что В/ = ++ (7.39) причем тру, которое можно назвать весом комплексного орто- гонального базиса В j системы М, определяется из сравнения — ij); = 1 (mod m.j). (7.40) mi Для наглядности рассмотрим пример перевода комплексного числа А. Пример. А = (—1, I, 1-|-2/); М = (2 + /) (3 + 2/) (4 + Z) = 9 + 32/. 413
Построим ортогональные базисы системы s 1 ^ + 0 или 01 ~ Ю0 s 1 (mod 2 + z). Здесь 1, так как 11 — 10/== 1 (mod Следовательно, В1 = 11 —10/, В2 = Ф2 = 1 (m°d 3 + 2/) или (7 + 6/) ф2 = 1 (mod 3 + 2/). Пусть ф2 —* + 0/5 тогда (7 + 6/) ф2 = (7* — §У) + (6х + 7у) i. По формулам (7.3) находим х и у 3(7% — 6r/) + 2(6x + 7f/) = 3 | х = 1, 3 (6% + 7г/) — 2 (7х—бу) — — 2 ) у—1, поэтому ~ (7 + 6/) (1 + Z) = 1 +13/, ^ = ++^=(4+7/) Я>3 s 1 (mod 4 + 0. 4 I 1 Если фз = х + /г/, то получаем (4х—7г/) +(7% + 4/у) / = 1 (mod 4+/). Переходим от этого комплексного сравнения к вещественным равен- ствам согласно (7.3) 4(4x-7z/) + (7x + 4z/)-4 1 4 (7% + 4//) —(4х —7z/) = — 1 J ’ Откуда х ~ — 1, у — 1 и В3 — — 11 — 3/. Таким образом, найдена система ортогональных базисов. Запишем число А в виде (7.38) А = — 1 (11 - 10/) + i (1 + 13Z) + (1 + 20 (-11 — 3/) (mod 9 + 32/) или А == —29— 14/ (mod 9+ 32/). Абсолютно —наименьший вычет числа —29—14/ по модулю 9 + 32/ — число А есть 12 + 9/. § 7.6. О ВЛОЖЕННЫХ СИСТЕМАХ НАИМЕНЬШИХ ВЫЧЕТОВ В комплексной области целое комплексное число а + Ы, представимое в системе наименьших вычетов М, не всегда представимо в системе ЛГ, где N . > N хотя М' м в системе М' наименьших вычетов количество представимых 414
чисел увеличивается. Для вещественной области это, разумеется, невозможно, так как наращивание оснований приводит только к увеличению количества представимых чисел с сохранением представимости чисел, входивших в нерасширенный диапазон. Аналогичным свойством обла- дает система остаточных классов с цифрами — абсолютно наименьшими основаниями, что делает эту систему более предпочтительной для реализации. Определение. Систему М наименьших вычетов будем считать вложенной в систему М' наименьших вычетов, где Рис. 7.4. Геометрическое пред- ставление двух систем наимень- ших вычетов, одна из которых М не является вложенной в систе- му М'. Рис. 7.5. Геометрическое пред- ставление двух систем абсо- лютно наименьших вычетов, где система М вложена в си- стему М'. > Nесли любое представимое в системе М число представимо и в системе М'. Из геометрической интерпретации системы остаточных классов в комплексной области видно, что система М — квадрат Т (рис. 7.4) является вложенной в систему М' -— квадрат Г, тогда, когда вся совокупность точек, представ- ляющих собой наименьшие вычеты числа Л4, содержится в квадрате Г. Для системы М' = Mtn наименьших вычетов tn (заметим, что m Ф 1 + i) должно выбираться из того, что на наклон прямой ОМ' накладывается определенное условие. 415
Система М абсолютно наименьших вычетов всегда вложена в систему М' = Мт. Действительно, квадрат RQPN системы М = р + qi всегда окажется вложенным в квадрат R'Q'P'N' системы М' = (p-(-qi) (p'+q'i) (рис. 7.5), так как оба они имеют центром начало координат, и радиус круга, описанного вокруг квадрата RQPN (/? = |K2(p2 + 92)) , всегда меньше радиуса круга, впи- санного в квадрат R'Q'P'N' (/?' = у ]Л(р'2 + </'2) (Р2 + <72)) • Пример. М = 1 + 3Z — система наименьших вычетов. т = 2+ Z; М' =Мт = — 1 + 7Z. Из рис. 7.4 видно, что система М наименьших вычетов не является вложенной в систему М', так как часть ее наименьших вычетов, а именно Z; 2Z; 3Z, не является наименьшими вычетами системы ЛГ. Если же система М = 1 + 3Z является системой абсо- лютно наименьших вычетов, то она вложена в систему Л1' = — 1 + 7Z (рис. 7.5). § 7.7. ИЗОМОРФИЗМ СИСТЕМ М КОМПЛЕКСНЫХ И ВЕЩЕСТВЕННЫХ ВЫЧЕТОВ Пусть в качестве оснований системы М взяты OTi = Pi + ^iG rn2 = p2 + q2i, ..., mn = pn + qni; М = т1т2.. ,тп = p + qi, с нормами, равными соответственно Nt, N2, ..., Nn, N, где (Pj, qj)=P, (p,q)=l. Пусть далее для каждого основания определены коэф- фициенты изоморфизма pj = Ujqj — Vjpj, p — uq — vp, где Uj, Vj и и, v удовлетворяют условиям взаимной простоты чисел pj, qj, р, q, т. е. UjPj + Vjqj = \, up + vq=\. Тогда справедлива следующая теорема. Теорема 7.12. Любое целое комплексное число А = а + Ы из множества представимых в данной системе чисел пред- ставляется в этой системе в виде A=a-pbi=(hlt h2, ..., hn), 416
где hj есть наименьшие неотрицательные вычеты чисел по модулям Nj. Доказательство. Доказательство вытекает непосред- ственно из теоремы Гаусса. Действительно, так как по условию то по теореме Гаусса для любого числа А имеет место А == hj (mod тД, где hj — наименьшие неотрицательные вычеты числа a + pjb по моду- лю Nj\ с другой стороны, если есть комплексные вычеты числа А соответственно по модулям т7-, то А = а,- (mod m7), поэтому aj == hj (mod mj), откуда в пределах представимости числа имеем Л = (аь а2, ..., Um^ihn h2, ..hn). (7.41) Таким образом, любое число из множества предста- вимых чисел изображается последовательностью его веще- ственных вычетов по модулям т7-, т. е. A = (hi, Л2, ..., hn). (7.42) Это значит, что, представляя число в форме (7.42), переходим от системы М с основаниями mt, т2, ..., к системе М с основаниями, равными нормам N±, N2, .. этих оснований, так как вещественные вычеты hj нахо- дятся из условий а + bpj = hj (mod Nj), где а и b — компоненты числа А. Определение. Систему М с основаниями, равными нормам 2Vj, N2, . . ., Nn, будем называть системой М вещественных вычетов. Можно всегда в нужный момент переходить от системы М комплексных вычетов к системе М вещественных выче- тов. В этом и заключается изоморфизм систем комплексных и вещественных вычетов. Далее, естественно, возникает вопрос о существовании системы М, удовлетворяющей условиям теоремы 7.12 об изоморфизме. Покажем, что такая система существует. Пусть tri! = pt + т2 = р2 + ЯгЦ . . . = рп + 4- qni есть попарно взаимно простые числа с нормами х/2 27—1365 417
Л0, N2, . . Nn и M = пц. m2 . . . mn = p + qi, тогда, очевидно, (pj, qj) 1 и (p, q) = 1. В самом деле, так как mj — простые числа, то по признаку простых чисел их нормы должны быть простыми числами вида 46 4~ 1. Но из теории чисел известно, что прогтое число вида 4k + 1 представляется в виде суммы квадратов двух взаимно простых чисел, поэтому из Nj = р2 + ф следует, что (р/, qi) = 1- Легко показать, что норма числа М равна произведе- нию норм сомножителей, следовательно, содержит только простые делители вида 4k -|- 1 и сама является числом вида 46+1. Поэтому из критерия представимости числа вида 4k + 1 формой р2 + q2 заключаем, что (р, q) = 1. Что и требовалось доказать. Рассматриваемый случай предполагает, что среди осно- ваний системы М нет чисел 1 + i с нормой, равной 2, между тем наличие такого основания намного облегчило бы организацию работы над относительными числами. Поэтому покажем, что и при наличии основания 1 + i в системе имеет место взаимная простота чисел р и q. Пусть система М = р + qi = т2, т3 . . . пгп, где — попарно взаимно простые числа с нормами вида 4k 1, при этом, как показано выше, (р, q) = 1. Теперь добавим в данную систему основание 1 + 0 т. е. М' -=М (1 + 0—772^2 • • • mn=(p+qi) (1 + 0 = (р —7) + + (р-| q)i. Покажем, что p — q и р q взаимно просты. Действительно, норма числа М равна N = p2 + q2, но так как число N имеет делители только вида 46 + 1, то само число N тоже такого же вида, поэтому в его разложе- нии р и q должны быть разной четности, откуда заклю- чаем, что числа p — q и p + q оба нечетные. Пусть p — q и p + q имеют общий делитель, отличный от 1, т. е. (р — q, р 4- q) = d, тогда р —- q = 0 (mod d), p + q О (mod d) или 2р 0 (mod d), 2q == 0 (mod d). Так как p — q и p + q нечетные, то d — нечетный делитель, поэтому (d, 2) = 1, следовательно, после сокращения на 2 418
получим р =е 0 (mod d), q = 0 (mod d) или (p, q) = d> 1, что противоречит условию взаимной простоты чисел /?, q. Следовательно, p — q и p-^q взаимно просты, что и требо- валось доказать. Пример. = m2 = 2-\-i, m3=3-]-2i, т5 ~ 5 + 2z, Wg = 6-|-/, fri'j = 5 —|-4z, 777g =2—j-7z, = 6+ 5z, tti^q = 3—|—8z • Их нормы соответственно равны: Nr = 2, N2 = 5, Мз=13, TV4= 17, 7V5 = 29, Nq — 37, W7 = 41, W8 = 53, W9 = 61, W10 = 73, M = 4 422219+ + 2 265 865/. Нетрудно проверить с помощью алгоритма Евклида, что числа 4 422 219 и 2 265 865 взаимно просты. Очевидно, правила арифметических операций над ком- плексными числами, представленными в форме (7.42), не отличаются от правил арифметических операций в системе остаточных классов в вещественной области, поэтому спе- циально на них мы останавливаться не будем. Рассмотрим примеры. Выберем систему М в виде: 1+Л tn2 = 2—р z', 7773 = 3-j-2z, Л4 = (1 4-Z) (24-Z) (3H-2Z)= — 3+ 11/, Ni = 2i 7V2 = 5, 7V3= 13, TV = 130, и определим для этой системы pt = 2-1 + 1 • 1 ~3, р2= 1 • 1+ 2-1 — 3, р3 = 2-1 + 31 = 5. Пример. Запишем числа А== —3 + 4/ и В — — 1 — 3/ в форме (7.42). Для А имеем: — 3+4-1 == hi (mod 2), — 1, — 3 + 4-3 == h2 (mod 5), h2~4, -3 + 4-5 = h3 (mod 13), h3-=4. Поэтому — 3 + 4z —(1, 4, 4). Для В имеем: — 1 — 3-1 == hY (mod 2), /z^O. — 1—3-3 = h2 (mod 5), /i2 = 0, — 1 — 3-5 = h3 (mod 13), /z3=10. Поэтому — 1 —3z = (0, 0, 10). Пример, а) Найти сумму чисел А~ — 3 + 4Z— (1, 4, 4) и 3 = = —1 —3/ = (0, 0, 10). 27* 419
Решение: (—3 + 4/) -|- (— 1 — 30 — — 4 + Z = (1, 4, 4) + (0, 0, 10) = = (1, 4, 1). Действительно, проверкой убеждаемся, что сумма — 4 + Z представляется в системе М в виде (1, 4, 1). б) Л = 3 = (1, 3, 3), — 1 —2Z = (1, 3, 4), Л-В = (1, 3, 3).(1, 3, 4) = (1, 4, 12). Легко проверить, что число (1, 4, 12) представляет произведение А-В = — 3 — 6/. Пример. Система М та же, что и в предыдущем примере: Л = 84-6/ = (0, 1, 12), В = 4 + 3/ = (1, 3, 6), / А (0,1,12) /0 1 + 1-5 12\ с С (1, 3, 6) 11’ 3 ’ 6) ‘ о I /? • т. е. частное равно 2 = (0, 2, 2). § 7.8. НАХОЖДЕНИЕ СОВОКУПНОСТИ ПРЕДСТАВИМЫХ ЧИСЕЛ ДЛЯ СИСТЕМ М КОМПЛЕКСНЫХ ВЫЧЕТОВ ПРИ ПОМОЩИ ВЕЩЕСТВЕННЫХ ВЫЧЕТОВ Предположим, что число х + iy есть комплексный (наименьший или абсолютно наименьший) вычет числа А = а + Ы по модулю М = р + qi, где (р, q) = 1. Тогда по определению х + iy является представимым в системе М комплексных вычетов. И если h — веществен- ный вычет числа А по модулю М, то имеет место х + iy = == h (mod М). Если найдем комплексные вычеты для чисел h = 0, 1,2, . . ., N — 1 по модулю М, то получим всю совокупность представимых чисел в системе М комплекс- ных вычетов. Этот способ интересен тем, что сразу устанавливает соответствие между последовательностью вещественных и комплексных вычетов. Выведем формулу, связывающую между собой после- довательности вещественных и наименьших комплексных вычетов. Найдем для = k<Z N его наименьший вычет по модулю М, для чего воспользуемся формулой (7.5) v.-x + ly^^ + ^i (7.43> 420
Здесь г и г' являются наименьшими неотрицательными вычетами чисел pk и — qk по модулю У, т. е. г = pk — N^, r'= — qk + N(i\+ 1), где £ = и т] = [] — целые части. Подставляя значения г и г' в (7.43), получим У k — ly — N “Т" , p[-qk + N(n+l)] + q{pk-Nl) . -г TV 1 и окончательно Vk = x + iy = [k — pl — <?(т)+ 1)] + [р(л+ 1) + ??] i, (7.44) где k = 0, 1, 2, ... N—\. Пример. Пусть 44 = 3 + 4Z, N = 25. Требуется для системы Л1 отыскать совокупность представимых чисел по формуле (7.44). Для k = 0, 1, 2, 3, 4, 5, 6, 4 = 0. Vo= — 4+3/, У1==—3 + 3/, V2= —2+3Z, V3= —1+3/, V4 = 3Z, V5 = 1 + 3/, V6 = 2+3Z. Для k = 7, 8, § = 0, 4=1. V7=l + 6/, V8 = 6Z. Для 6 = 9, 10, 11, 12, §=1, 4 = h V9= — 2+10Z, V10= — 1 + 10Z, Уи = 10/; V12 = l + 10/. Для fc=13, 14, 15, 16, §=1, T] = 2. V13= —2 + 13/, V14=—1 + 13Z, V15=13/, V16=l + 13/. Для k= 17, 18 § = 2 4 = 2 V17= — 1 + 17Z, V18=17Z. Для k = 19, 20, 21, 22, 23, 24 § = 2 4 = 3 V19==-3 + 20Z, V2o=-2+2O/, V21=-l+20Z, V22 = 20Z, V23=l + 20Z, V24 = 2 + 20z. Далее выведем формулу для случая абсолютно наи- меньших вычетов. Пусть для k < N отыскивается его абсолютно наименьший вычет vkl тогда по формуле (7.5) будем иметь Vk^x + iy^-^ + ^!l. (7.45) 421
Здесь г и г' являются абсолютно наименьшими вычетами чисел pk и — qk по модулю N, поэтому г = р/г —j , r'= —qk-±N , (7-46) Перепишем (7.45), имея в виду (7.46) Vft =--------------------jy--------------------+ + N 1~ Таким образом, совокупность представимых чисел в данной системе М = р + qi, где (р, q) = 1, определяется по формуле М^Р[5±1]_,р±1]) + Пример. Найти множество представимых чисел в системе М =3 + 4/ абсолютно —наименьших вычетов. Здесь М = 25, поэтому, давая k последовательность значений 0, 1,2,3, ...,24, находим по формуле (7.47): для значений k-- 0, 1, 2, 3, J = О Vo = O, ^=1, V2 —2, V3 —3; [S+l]_o, [!!+*] = > V4 = 3Z; для k = 5, 6, 7, 8, 9 = = 1 V5=-2-j, Ve=-l-(, V7=-i, l/8=l-z, V'3 = 2-z; для fe=10, 11, 12 = [++=2> Vi0=-l+2z, Vn = 2z, V12=1 + 2Z; 422
для k = 13, 14, 15 [l+2] = [l±_Lj = 2, V13=-l-2z, V14=—2z, V15=1-2z; для ft =16, 17, 18, 19, 20 =2, ^1±1J=3, Vi6‘——2+g ^17= — l+z> ^18 =1 » Kt9=l + Z> V20 — 2-J-Z; V21=-3z для fe = 22, 23, 24 [iiAj =3, ^H±1J=4, V22=—3, У2з=—2, V24=-l. § 7.9. ПЕРЕВОД ЦЕЛЫХ КОМПЛЕКСНЫХ ЧИСЕЛ ИЗ ПОЗИЦИОННОЙ СИСТЕМЫ В СИСТЕМУ М ВЕЩЕСТВЕННЫХ ВЫЧЕТОВ И ОБРАТНО Пусть дана система М •= гщт2 . .. тп = p + qi и пусть М, N2, • Ми А/ и р1? р2, Рпг р — соответственно нормы и коэффициенты изоморфизма чисел т2, ... . .., тп, М. Далее, пусть для представления в системе М веще- ственных вычетов задано число А — а + bi. Тогда по теореме изоморфизма имеем a-\-bi = h (mod М), где h определяется из условия a + bp == /z (mod А/), но так как М = т4т2 ... тп и N = NiN2 • • • Nn, то по свойству сравнений получим а + Ы = h (mod mJ; а + bi =s h (mod m2); ...; a + bi ~ h (mod mn) и a-j-bp = h (mod NJ; a + bp = h (mod N2f; ...; a + bp h (mod Nn), 423
из h = hj (mod N}), следует a + bp = hi (mod NJ, a-Jbp = h2 (mod N2), aj-bp = hn (mod Nn), и a 4- Ы = hi (mod mJ, (7-48) a J-bi = /i2(mod m2), a +bi = hn (mod mrJ, отсюда a-}-bi = (hi, h2, ..hrJ. (7.49) Таким образом, для нахождения представления (7.49) достаточно найти hj из (7.48) при помощи коэффициента изоморфизма р числа М. Можно представление (7.49) найти и при помощи коэффициентов изоморфизма р1; р2, ..., рге. В самом деле, имеем: а + s= hi (mod NJ, a-Jbp2 e= h2(modN2), (7.50) a + bpn = hn (mod Nn), откуда получим представление (7.49). Теорема 7.13. Если M = mitn2 ... тп— (pi + qJ)X X (Р2 + 72О • • • (Pn + qni), Pi, P2, • • Pn, p —соответственно коэффициенты изоморфизма rrij и /И, то коэффициент изо- морфизма р произведения М имеет представление Р = (Р1, Рг, •••, Р») (7.51) в системе с основаниями Ni4 N2, ..., Nn- Доказательство. Чтобы избежать громоздких выкладок, доказательство теоремы проведем для п = 2, т. е. для случая, когда М = (P1 + <710 (Р2 + ?2О— (PiP2'-~ ?1^2) + (91P2 + P1^2) i P + 424
из условия теоремы имеем р2 = U2q2— ^2P2i Р = » (Р1Рг + Р1<7г) — V (PiPz — q^), где u2, v2, и, v связаны условиями ^1P1 + = 1. ^гРг + ^7г = 1, up + vq=l. (7.52) Найдем наименьшие неотрицательные остатки yj и у2 числа р по модулю N1 = p21-]~q21 и N2 = Pl + ql- Имеем P = ^i^i + Yi и р = ^2 + у2, откуда Yi = Р~и у2 = = р — k2N2 или после подстановки выражения р, Nb N2 получим Ъ = «(Ч1Р2 + Р1<7г) - v (Pip2 - - k± (pl + q*), Y2 = «(?1Рг + Р1<7г) — У (Р1Р2 — ^19г) — ^2 (Р1 +^)- Перегруппируем правые части (7.53) относительно ply q{ в первом и р2, q2 во втором равенстве Yi = + № — Mi) 71 — (P2V — 7г« + kiPi) Pi У 2 = (PiU + q±v — k2q2) q2 — (ptv — q^u + k2p2) p2. Покажем, что Щ. P2U + 72^ — Mi» vi = P2V — 72« + Кри u2 = piU + q±v — k2q2, v2 = pYv — qYu + k2p2 удовлетворяют соответственно первым двум условиям (7.52), для чего образуем (р2^ + q2v — ^i7i) Pi + (JW — q2u + Mi) 7i = = P1P2U + Piq2v — Pi^qi + p2qiV — qYq2u + pfi^ = = (P1P2 — 717г) и + (ptq2 + р2?0 v. Последнее выражение равно единице согласно третьему условию (7.52), поэтому Yi = Pi, аналогично получим (р^ + qYv — k2q2) р2 + (PiV — qiU + k2p2) q2 = P1P2U + P241V — p2q2^2 + P142V — 7172^ + p272^2 = = (P1P2 — 717г) и + (P172 + p27i) которое также равно единице согласно последнему условию (7.52), поэтому у2 = р2. Следовательно, pt и р2 являются наименьшими неотрицательными вычетами числа р по модулю N2, что и требовалось доказать. 28-1365 425
Справедливость этой теоремы следует также непосред- ственно из (7.48) и (7.50). В самом деле, так как в сравне- ниях (7.48) и (7.50) правые части равны, то а + bp == а + bpj (mod Nj) или 6(р —Pj) s O(mod^). Так как p и p7 не зависят от выбора А = а + Ы, то допустим, что (6, ^)=1, тогда р-—р7-= 0 (mod Л/Д откуда следует, что р ~ р7-(mod Л/Д т. е. р = (р1? р2, ..., рп). Теперь согласно только что доказанной теореме, можно указать еще один, причем самый практичный алгоритм представления заданного числа а + bi в системе М. В самом деле, так как р = (рь р2, . . ., рЛ), и а = = («ь «2; • • • аЛ) и b = (Pi; р2; . . . рД то (7.48) можно переписать ai + PiPi = (mod Л/Д а2 + Р2Р2 = h2 (mod Л/Д ап + Pnpn = hn (mod Nn). откуда заключаем, что искомые вычеты hj находятся из условия (а1? а2, . .., ап) + (Рь Р2, .. ., рЛ) (рн р2. . .., рп) = = й2, ..., йп). Пример. В качестве системы возьмем М = т± • т2 • /п3 • т4 • т5 • • т7 • т8 • т$ • т10 = = (1 + Z) (2 + 0 (3+2Z) (4 + Z) (5 + 2Z) (1 + 6Z) (5 + 4Z) (7 + 2Z) X X (6 + 5Z) (3 + 8Z) = 4 749 285 -1 291 214Z здесь Л/ = ^.Л/2-Л/з^4^5.^^7^8^9.^о = 2.5.13-17.29.37-41 X Х53.6Ь73 Р = (Р1, Р2» Рз, Р4» Р5» Рб> Р7, Р8» Рэ, Рю) ~ = (1, 3, 5, 13, 12, 6, 9, 25, 11, 27). Представим число А — 3751 -1- 1842Z в данной системе Л4. Для чего найдем представления его компонент 3751 и 1842 в этой системе, т. е. 3751 = (1, 1, 7, 11, 10, 14, 20, 41, 30, 27) 1842 = (0, 2, 9, 6, 15, 29, 38, 40, 12, 17). 426
Тогда согласно теореме 7.13 находим 3751 +1842/ = (1, 1, 7, 11, 10, 14, 20, 41, 30, 27) + +(0, 2, 9, 6, 15, 29, 38, 40, 12, 17) • (1, 3, 5, 13, 12, 6, 9, 25, 11, 27) = = (1, 1, 7, 11, 10, 14, 20, 41, 30,27) +(0, 1,6, 10,6,26, 14,46, 10,21) = = (1, 2, 0, 4, 16, 11, 34, 5, 40, 48). Перейдем теперь к построению алгоритмов перевода чисел из системы М в обычную позиционную систему. Справедлива следующая теорема. Теорема 7.14. Для системы Л4 = (р1 + ^10(р2 + ^2^)--- • • • (рп + qni) = Р + qi с нормами Л/ь N2, ..., Nn, N и коэф- фициентами изоморфизма рь р2. ..., рп, р в качестве орто- гональных базисов системы можно принять абсолютно наименьшие вычеты чисел = по модулям М, где kj<Nj определяются из условия = 1 (mod Л/Д Доказательство. Пусть в системе М дано число А = а 4- bi = (а, -|- рр; а2 -J- Рг1'; • • • 5 Pni)> тогда А = (1,0, 0, ..., 0)(a1 + p1i; 0, 0, ...,0)+... ... + (0, 0, ..., 0, 1) (0, 0, ..., 0, ап + pni) (mod М). Здесь числа Bt = (l, 0, 0, ...,0), В2=(0, 1, 0, ...,.0), (7.54) Вга = (0, 0, ...,0, 1), как и в вещественной области, будем называть комплекс- ными ортогональными базисами системы М. Если нормы оснований Nj рассматривать как основания системы, то числа как известно, являются орто- гональными базисами этой системы, поэтому Bj s 1 (mod N}), Bj = 0 (mod +) . 28* 427
Пусть Bj = Cj + dji есть абсолютно наименьшие вычеты чисел Bj по модулю 7Й, т. е. Cj + dji = В7-(тос1Л4), тогда, так как Bj<ZN, по (7.14) Bj е= с7* + djp (mod Л/), но в силу А = Л^У2 • • • Мг и по свойству сравнений Bj == Cj + djp (mod M). По условию В7 = 1 (mod М), следовательно, c7 + J7p = = l(modW7), откуда на основании теоремы 7.2 имеем Bj = cj + dji = 1 (mod m7). Аналогично устанавливаем, что Bj = Cj + dji ~ 0 [ mod \ mj Таким образом, числа Bj удовлетворяют условию (7.54) ортогональности, что и требовалось доказать. Теорема 7.15. Любое целое комплексное число А = = (h^ h2, представимое в системе 7Й, есть абсо- лютно наименьший вычет числа h = Bjhi + B2h2 -Т • • • Bnhn (mod N) по модулю Л4, где Bj — ортогональные базисы системы. Доказательство. Пусть представление А в системе М в вещественных вычетах имеет вид Л—<7+&z —(/г1? Л2, ...» hn). Это значит, что а + Ьр == hj (mod N7) или а + Ьр = — (/ц, h2, •. •, hn). Следовательно, если Bj — базисы системы М, то а + bp = В^ + B2h2 + ... 4- Bnhn (mod N) = h (mod TV), откуда получаем A=== A(modTH). Таким образом, абсолютно наименьшие вычеты чисел А и h по модулю М должны быть равны, что и доказывает теорему. Рассмотрим примеры, иллюстрирующие теоремы 7.14 и 7.15. В этих примерах принята система: пц — Х-}-!,, /п2 —2 + /, /п3 —3 + 2/, aA4 = 4+Z, Л4 = 41 + 23/, TVi-2, 7V2 = 5, W3=13, У4=17, 2V-2210, р = (1, 3, 5, 13). Ортогональные базисы системы равны: Bi = 1105, В2-1326, В3-170, В4= 1820. 428
Пример. Определить комплексные ортогональные базисы системы, Согласно теореме 7.14 имеем: 1105 = q + (mod 41 + 23/), 1326 = с2 + ^2/ (mod 41 + 23/), 170 = с3 +J3/ (mod 41 + 23/), 1820 = c4+d4/ (mod 41 + 23/). Далее, определив абсолютно наименьшие вычеты чисел 1105, 1326, 170 и 1820 по модулю 41 + 23/, получим искомые базисы: B1==9+32Z, В2=—21 —Z, В3= 1 + 13/, В4= —11 —3Z. Пример. Комплексное число А имеет представление Л=(1, 3, 6, 9). Преобразовать его в обычную позиционную систему. Согласно теореме 7.15 найдем h = 1105 • 1 + 3 • 1326 + 6 • 170 + 9 • 1820 (mod 2210) = 383, откуда Л = 383 (mod 41+ 23/), поэтому абсолютно наименьший вычет числа 383 по модулю 41 + 23/ дает искомое комплексное число 4 + 3/.
ЛИТЕРАТУРА 1. Акушский И. Я. Многорегистровые схемы выполнения арифметических операций. «Вопросы теории математических машин». Физматгиз, 1958. 2. Акушский И. Я. Арифметические операции в системе остаточных классов. «Вопросы радиоэлектроники» серия VII, 1960 г., вып. 3. 3. Акушский И. Я.,Хацкевич В. X. Инверсные пред- ставления чисел в системе остаточных классов. «Цифровая вычисли- тельная техника и программирование», вып. 2, 1967 г. 4. Акушский И. Я., Юдицкий Д. И. Некоторые вопросы логики и структуры УЦВМ высокой производительности. «Вопросы радиоэлектроники», серия VII, 1960 г., вып. 3. 5. Акушский И. Я., Юдицкий Д. И., Позиционные харак- теристики числовых представлений в остаточных классах. «Цифро- вая вычислительная техника и программирование», вып. 2, 1967 г. 6. А к у ш с к и й И. Я- Машинная арифметика в системе оста- точных классов. Доклад на IV Всесоюзном математическом съезде. Ленинград, 1961 г., труды съезда, т. IV. 7. Анисимов Б. В., Четвериков В. Н. Основы теории и проектирования цифровых вычислительных машин. Машгиз, 1962. 8. Виноградов И. М. Основы теории чисел. Изд-во «Наука», 1965. 9. Богданов А. В. Выбор режима элементов, управляющих диодной матрицей в ВМ большого быстродействия. «Электронная техника», серия VI, 1966 г., № 2. 10. Г а у с с К. Ф. Труды по теории чисел. Изд-во АН СССР, 1959. 11. Г е л л е р С. И., Долгов А. И., 3 о л и н В. В. Алго- ритмы основных операций в системе счисления остаточных классов и их реализации. В сборнике «Вопросы построения быстродействую- щих ЦВМ», АРТА, Харьков, 1965. 12. Глушков В. М. Синтез цифровых автоматов. Физмат- гиз, 1962. 13. Дроздов Е. А., Пятибратов А. П. Автоматиче- ское преобразование и кодирование информации. Изд-во «Совет- ское радио», 1964. 14. Д э в е н п о р т Г. Высшая арифметика. Изд-во «Наука», 1965. 15. Жуков-Емельянов О. Д. Некоторые вопросы, связанные с умножением и делением в системе остаточных классов. ИТМ и ВТ. Электронные вычислительные машины, 1964. 430
16. Ж{у ков-Емельянов О. Д. Цепной алгоритм в системе остаточных классов. ИТМ и ВТ. Электронные вычисли- тельные машины, 1965. 17. 3 а р е п и н Ю. Г. Корректирующие коды для передачи и переработки информации. Изд-во «Техника», Киев, 1965. 18. И о к к и Д. Кодирование методом вычетов и применение его в космической связи. «Зарубежная радиоэлектроника», 1963 № 9. 19. К а р ц е в М. А. Арифметические устройства электронных цифровых машин. Физматгиз, 1958. 20. Келдыш Л. В., Ляпунов А. А., Ш у р а - Б у- р а М. Р. Математические вопросы теории счетных машин. «Вестник АН СССР», 1956, № 11. 21. Китов А. И., Криницкий Н. А. Электронные цифровые машины и программирование. Физматгиз, 1961. 22. К о б р и н с к и й Н. Е. Математические машины непре- рывного действия, ГИТТЛ, 1954. 23. Кобринский Н. Е., Трахтенброт Б. А. Введение в теорию конечных автоматов. Физматгиз, 1962. 24. «Коды с обнаружением и исправлением ошибок». Пер. с англ., под ред. А. М. Петровского. Изд-во иностранной литера- туры, 1956. 25. К о р н Г., К о р н Т. Электронные моделирующие устрой- ства. Изд-во иностранной литературы, 1955. 26. Мирончиков Е. Т., Колесник В. Д. Об ариф- метических корректирующих кодах. «Радиотехника и электро- ника», 1963, № 1. 27. М о и с и л Г. Алгебраическая теория дискретных автома- тических устройств. Изд-во иностранной литературы, 1963. 28. П а п е р н о в А. А. Логические основы цифровых машин и программирования. Изд-во «Наука», 1965. 29. «Передача цифровой информации». Изд-во иностранной литературы, 1963. 30. П и т е р с о н У. У. Коды, исправляющие ошибки. Изд-во «Мир», 1964. 31. Р а д ч е н к о А. Н., Мирончиков Е. Т. Многотакт- ные методы исправления одиночных и многократных близко рас- положенных ошибок в групповых кодах. «Радиотехника и элек- троника», 1961, № 11. 32. Реферат о УВМ «Эпос». Реферативный журнал «Автоматика, телемеханика и вычислительная техника», 1964, № 2. 33. Р и ч а р д с Р. К. Арифметические операции на цифровых вычислительных машинах. Изд-во иностранной литературы, 1957. 34. Р и ч а р д с Р. К. Элементы и схемы цифровых вычисли- тельных машин. Изд-во иностранной литературы, 1961. 35. С и ф о р о в В. И. О помехоустойчивости систем с кор- ректирующими кодами. «Радиотехника и электроника», 1961, №11. 36. Реферат «Сравнение чисел и определение переполнения в ЦВМ, использующих модульную арифметику». Реферативный журнал «Кибернетика», 1964. 37. «Теория кодирования». Пер. с англ., под ред. Э. Л. Блоха. Изд-во «Мир», 1964. 431
38. «Теория передачи сообщений». Пер. с англ. Изд-во ино- странной литературы, 1957. 39. Тейтельбаум В. Н. Сравнение чисел в чешской системе счисления. «Доклады АН СССР, 1958, т. 121, № 5. 40. У д а л о в А. П., С у п р у н Б. А. Избыточное кодиро- вание при передаче информации двоичными кодами. Изд-во «Связь», 1964. 41. Ф а й н С. Б. Некоторые вопросы машинной арифметики системы остаточных клапанов. Труды ВЦ АН Груз. ССР, 1964. 43. Ф а н о Р. М. Передача информации статистическая теория связи. Изд-во «Мир», 1965. 44. Ф е л ь д м а н Б. Я. К вопросу о минимальном базисе для системы остаточных классов. «Вопросы радиоэлектроники», 1963, сер. VII, вып. I. 45. Ф е л ь д б а у м А. А. Вычислительные устройства в авто- матических системах. Физматгиз, 1959. 46. X а р к е в и ч А. А. Борьба с помехами. Физматгиз, 1963. 47. X а р к е в и ч А. А. Одна теорема, относящаяся к коррек- тирующим кодам. «Радиотехника», 1962, № 5. 48. Чебышев П. Л. Полное собрание сочинений, т. 1. Изд-во АН СССР, 1946. 49. Ш е н н о н К. Э. Работы по теории информации и кибер- нетике. Изд-во иностранной литературы, 1963. 50. Ю д и ц к и й Д. И. Вопросы синтеза устройства управ- ления УЦВМ. «Вопросы теории математических машин». Вып. 2, Физматгиз, 1962. 51. Юдицкий Д. И. О путях реализации системы остаточ- ных классов. «Вопросы радиоэлектроники», серия VII, 1960 г., вып. 3. 52. В е a d 1 е s R. L. The complementation of a modular arith- metic computer with binary logic elements. Proc. 7-th Nat. Convent, Military Electronics, Washington, 1963. 53. C h e n e у P. W. A digital correlator based on the residue number system. IRE Trans, on El. comp., 1961, EC-10, № 1. 54. G a r n e r H. The residue number system. IRE Trans, on EL. Comp., 1959, v. 8, June. 55. G a f f i n R. M. A special purpose computer for solving linear simultaneous equations using the residue number system. IRE Trans. Electronic comput., 1962, 11, N 2. 56. К e i r Y. A., C h e n e у R. W., Tannenbaum M. Division and overflow detection in residue number system. IRE Trans, on El. comp., 1962, v. 11, №4. 57. Knitted I., Zeller K. Berechungen ohne Abrundung mit der kongruenten Methode. Z. angew. Math, und Meeh., 1960, v. 40. 58. Lean M., A s p i n a 1 1 D. A decimal adder using a stored addition table. PIEE, v. 105, pt. B, № 20, 1958, March. 59. L e v i n e M. R., Levy E., Baker A. M. Modular arithmetic on ultra high-speed computation technique for aiborne digital computers Ballist Missile and Aerospace Technol., v. 2. Ballist Missile and space electronics, 1961. 60. M e r r i 1 1 R. D. Improving digital computer performance using residue number theory. IEEE Trans. EL. comp., 1964, v. 13, № 2. 432
61. Metropolis N., Ashenhurst R. L. Significant digit computer arithmetic. IRE Trans, on EL. comp., 1958, v. 7, № 4. 62. N a d 1 e r M. A high speed electronic arithmetic unit for automatic computing machines. Acta techn. (ceskasl), 1956, v. 1, № 6. 63. N о t h m a n M. H. Combined analog-digital control sys- tems. Electr. Manufact., 1958, № 6. 64. P a u 1 P. Y. Some factors affecting the accuracy of electro- nic analogue computers. Actes. Jouries internal, analog., 1955. 65. P e t e r s о n W. W. On checking an adder. IBM Journal of research and development, 1958, v. 2, № 2. 66. R о n a 1 d M. G. A computer for solving linear simultaneous equations using the residue number system. IRE Trans, on EL. comp. 1961, EC-10, № 1. 67. S v о b о d a A., Valach M. Operatorve obvody. Stroje na zpacovani informaci, sbornik III, Nak 1, CSAV, 1955. 68. S v о b о d a A. Rational numerical system of residual classes. Stroje na zpacovani informaci, sbornik V, Nak 1, CSAV, 1957. 69. S v о b о d a A. The numerical system of residue classes in mathematical machines. Inform, processing, 1960. 70. S v о b о d a A. Le systeme numerique de classes residuelles dans les machines mathematiques. Automatisme, 1960, t. V, № 1—2. 71. Svoboda A. The numerical system of residue classes in mathematical machines. Informat, processing, Paris—Munchen— London, 1960. 72. S v о b о d a A. Decimal arithmetic unit. Stroje na zpracov. inform. 8, 1962. 73. S z a b о N. Sign detection in nonredundant residue systems. IRE Trans, on El. comp., 1962, v. 11, № 4. 74. S z a b о N. Recent advances in modular arithmetic. Switch theory Space Technol. Stanford, Calif. Univ. Press., 1963. 75. T a n a к a R. I. Some options in the design of a residue arithmetic computer. Proc. Nat. El. Conf. Chicago III, 1963. 76. V a 1 a c h M. Vznik kodu a ciselne zbytkovych trid. Stroje na zpracovani informaci, sbornik III, Nak I CSAV, 1955. 77. V a 1 a c h M. Abbilding der Zahen und der Arithmetishen Operationen im Restklassen System. Ber. Internat. Math. Kollag., Non. 57, 1955. 78. V a 1 a c h M. Prevod cisel ze so-ustavy zbytkovych trid do polydicke soustavy zmenou metrika periody. Stroje zprocav. inform., 1956, № 4. 79. Z w e i z i g L. K. Data encoder for general instrumentation. Teletech. 1955, v. 14, № 3.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Альтернативная совокупность числа 179 --- условная 185 Антииндекс числа 59 Базис 35 — ортогональный 36, 37 — — комплексный 413 Блок позиционных характери- стик арифметического уст- ройства 351 Вес базиса ортогонального 37 — — — комплексного 413 — разряда сумматора 300 — числа 221 — — минимального псевдоор- тогонального 218 Вычет наименьший комплекс- ного числа 383, 385 — — отрицательный 45 — — положительный 45 Гаусс К. Ф., Фундаментальная теорема 386, 389 Геометрическая интерпретация комплексного числа 392— 393 Деление на основание системы 146—148 — на произведение чисел 145 — на число, не входящее в си- стему оснований 141—144 — формальное 130 Диапазон полный 159—167 — представимых чисел 10 — рабочий 158 Длина веса минимального псев- доортогонального числа 220 Звено арифметического устрой- ства 351 — элементарное 349 Изоморфизм 384 434 Изоморфизм, коэффициент 388 — систем комплексных и ве- щественных вычетов 416— 420 Индекс числа 57 — — комплексного 402 Ключ инверсного представле- ния числа 85 Код табличного сложения 335 Конгруентные точки 394 Коррекция ранга числа 101 — — суммы двух чисел 106 Кратность минимального псев- доортогонального числа 247 Критерий переполнения при сложении 109—НО — правильности числа 263, 275 Критический случай 230 Критичность первого типа 231 — второго типа 231 Метод весовых характеристик 218—223 — нулевизации 193, 224—230 — определения границ 396 — отображения на конец диа- пазона 252—272 — оценки интервалов 230— 243 — растяжки 369 — расширения диапазона 243— 252 Модуль сумматора 295 Нулевизация, минимальное число 224 —, константы 194, 195, 224 -----, общее количество 194 —, предельная теорема 224 Оборудование цифровой вычис-
лительной машины, вто- рая группа 365 -----------, первая группа 365 Округление числа 287—288 Операция арифметическая пра- вильная 184 Пара цифр правильная 104 — — стандартная 106 Первообразный корень просто- го числа 50 — — — — комплексного 401 Перевод из комплексной систе- мы остаточных классов в позиционную систему 413 — из позиционной системы в систему счисления в оста- точных классах 34, 284 — из системы остаточных клас- сов в позиционную систе- му 35—39, 285—286 Полином, вычисление значений 32 Проекция числа по одному основанию 162 --------двум основаниям 168 Ранг суммы чисел 78 — числа, алгоритм определе- ния 79—80 — — истинный 77—78 — — псевдоортогонального 97 — — расчетный 82 Распределение ошибок 196, 197, 203 Расширение диапазона чисел 246 Сворачивание диапазона 367 Связи дополнительные незави- симые 304 Система оснований упорядо- ченная 162 — полная вычетов комплекс- ного числа 395, 396 — — — вложенная 415 Система счисления в остаточ- ных классах, определение 12 — —-------, диапазон пред- ставимых чисел 13, 77 — — — — многоступенчатая 28—30 — — — — нормированная 91 — — — — нормированния по основанию pt 91 — — — — основания 12 Система счисления в остаточ- ных классах, цифры 12 ----------- в комплексной области 403 — — позиционная обобщен- ная 9 —----------1 диапазон пред- ставимых чисел 10 След минимальной суммы ми- нимальных форм двух чи- сел 95 — суммы двух чисел 104 — — дополнительных чисел 113 — частного отделения на 2 122 — числа 100 — — минимальный 94, 222, 225 — — псевдоортогонального 94 97 Сложение 13 Сравнение двух целых чисел 40—44 —----------по величине 217— 218, 284 — , модуль 40 — , независимые решения 45 Сумма базисов ортогональных 37 — обобщенная цифр числа 245 Таблица, избыточность 328 — , коэффициент избыточности 329 — , — использования 329 Тракт машинный 366 Умножение 13 Ферма, малая теорема 47 Форма представления числа естественная 367 — — — искусственная 17 — числа минимальные 94 — — — нормальная 367 Характер частного от деления на 2 122 -------- на 4 134 — числа 103 — — дополнительного 113 Цель 173 Цифра по основанию правиль- ная 122 — — — второго рода 131 — — — первого рода 131 — — произведения чисел 13 — — суммы чисел 13 — — частного 122 435
Цифра по комплексному произ- ведения 411 — — — разности 411 — — — суммы 411 — — — частного 411—412 Число альтернативно коррек- тируемое 179 — ассоциированное 380 —, знак 116—118 — комплексное 380 — —, геометрическая интер- претация 392—393 — — нечетное 381 — — получетное 381 — —, полная система вычетов 395, 396, 401 — —, представление в систе- ме счисления в остаточных классах 404, 408 — — простое 381 — — четное 381 Число критическое 231 • — минимальное нулевизации 224 — ортогональное по основа- нию pt 93 — отрицательное 17—26 — правильное 159 —, представление в позицион- ной обобщенной системе 9 —, — в системе счисления в остаточных классах 12 —, — инверсное 84—85 —, — расширенное 82 —, — — главное 83 —, — специальное 191—193 — псевдоортогональное мини- мальное 94 — — по основанию pi 93—94 Эйлера теорема 48 Ядро ранга числа 101 — — суммы двух чисел 108
ОГЛАВЛЕНИЕ Предисловие ............................................. 3 ГЛАВА 1 Введение в систему счисления в остаточных классах § 1.1. Возникновение и развитие непозиционных систем счисления ................................... 7 § 1.2. Позиционные системы счисления. Образование цифр представления числа............................ 9 § 1.3. Система счисления в остаточных классах ... 12 § 1.4. Способы введения отрицательных чисел ... 16 § 1.5. Многоступенчатая система остаточных классов 28 § 1.6. Рациональные операции в системе остаточных классов .................................... 31 § 1.7. Перевод чисел из позиционной системы в систе- му остаточных классов и обратно.................... 33 ГЛАВА 2 Теоретико-числовые основы системы остаточных классов § 2.1. Элементы теории сравнений ................. 40 § 2.2. Решение простейших сравнений .............. 45 § 2.3. Первообразные корни и методы их вычисления 49 § 2.4. Теория индексов ........................... 56 § 2.5. Применение индексов для выполнения арифме- тических операций ................................. 59 § 2.6. Таблицы индексов для простых оснований 60 глава з Основы машинной арифметики в системе остаточных классов § 3.1. Ранг числа и его свойства.................. 77 § 3.2. О расширенном представлении чисел .*. . . 82 § 3.3. Числовые последовательности и ранги их эле- ментов ............................................ 86 § 3.4. Ортогональные и псевдоортогональные числа 93 § 3.5. Составление числа из минимальных псевдоорто- гональных компонент .................... 100 § 3.6. Критерий переполнения при сложении .... 104 437
§ 3.7. Представление чисел. Введение знака числа. Правило знаков .................................. 112 § 3.8. Формальное деление ............................................................... 121 § 3.9. Деление на фиксированное число.......................................................... 141 § 3.10. Деление на основание системы ........................................................... 146 § 3.11. Общий случай деления ............................................................... 150 ГЛАВА 4 Самокорректирующиеся коды в системе остаточных классов § 4.1. О кодах с обнаружением и исправлением оши- бок ............................................. 155 § 4.2. Корректирующие свойства специальных кодов 161 § 4.3. Коды с двумя контрольными основаниями 167 § 4.4. Вопросы контроля арифметических операций 173 § 4.5. Альтернативность коррекции при одном избы- точном основании ................................ 178 § 4.6. Логическое упрочнение контрольного основа- ния ............................................. 191 § 4.7. Распределение одиночных ошибок по интерва- лам рабочего диапазона .......................... 193 § 4.8. Арифметика ошибок ...................................................................... 206 § 4.9. Статистическое моделирование процесса схо- димости альтернативной коррекции................. 211 ГЛАВА 5 Алгоритмы выполнения немодульных операций § 5.1. Метод весовых характеристик............................................................. 218 § 5.2. Метод нулевизации ...................................................................... 224 § 5.3. Метод оценки интервалов..... 230 § 5.4. Метод расширения диапазона . 243 § 5.5. Метод отображения на конец диапазона . . . 252 § 5.6. Критические случаи....................................................................... 272 § 5.7. О немодульных операциях ................................................................. 282 ГЛАВА 6 Компоненты вычислительных машин в системе остаточных классов § 6.1. Сумматоры по произвольному модулю .... 295 § 6.2. Типы сумматоров и выполнение операций 311 § 6.3. Основы табличной арифметики. 327 § 6.4. Структура таблиц основных операций .... 341 § 6.5. Принципы построения основных блоков ариф- метического устройства ......................... 349» § 6.6. О структуре цифровых машин в системе остаточ- ных классов ..................................... 364 § 6.7. Принципы построения комбинированных дис- кретно-непрерывных устройств в системе оста- точных классов................................... 368 438
ГЛАВА 7 Система остаточных классов в комплексной области § 7.1. Сравнение целых комплексных чисел .... 382 § 7.2. Фундаментальная теорема Гаусса......... 384 § 7.3. Полная система вычетов. Геометрическая интер- претация .................................... 392 § 7.4. Первообразные корни и индексы.......... 400 § 7.5. Система остаточных классов в комплексной области................................. 403 § 7.6. О вложенных системах наименьших вычетов 414 § 7.7. Изоморфизм систем М комплексных и вещест- венных вычетов .............................. 416 § 7.8. Нахождение совокупности представимых чисел для систем М комплексных вычетов при помо- щи вещественных вычетов................. 420 § 7.9. Перевод целых комплексных чисел из позици- онной системы в систему М вещественных вычетов и обратно ........................... 423 Литература ......................................... 430 Предметный указатель ............................... 434
ИЗРАИЛЬ ЯКОВЛЕВИЧ АКУШСКИЙ ДАВЛЕТ ИСЛАМОВИЧ ЮДИЦКИЙ МАШИННАЯ АРИФМЕТИКА В ОСТАТОЧНЫХ КЛАССАХ Редакторы Н. Г. Заболоцкий, В. Н. Заболоцкий Художественный редактор В. Т. Сидоренко Технический редактор Г. 3. Шалимова Корректоры Т. Л. Князева, О. П. Трушкова Сдано в набор 18/Х 1967 г. Подписано в печать 26/Ш 1968 г. Т-03148. Формат 84хЮ8/з2 Бумага типографская № 1 Объем 23,1 усл. п. л. Уч.-изд. л. 22,817. Тираж 7.500 Издательство «Советское радио», Москва, Главпочтамт, п/я 693. Зак. 1365. Цена 1 р. 85 к. Московская типография № 16 Главполиграфпрома Комитета по печати при Совете Министров СССР. Москва, Трехпрудный пер., 9