Студопедия — Тема: Методы перевода чисел из одной системы счисления в другую
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тема: Методы перевода чисел из одной системы счисления в другую

Лекция 3.

 

Рассмотрим вначале методы перевода чисел из смещенной системы счисления с основанием k 1 в смещенную систему с основанием k 2. Через будем обозначать число X в k 1 - й системе.

Правая часть выражения (2) определяет правило вычисления количественного эквивалента числа, записанного в форме (1). На этом основан один из ме­тодов перевода чисел. Для перевода числа в систему с основанием k 2необходимо записать в форме (2); заменить цифры хi и основание k 1их k 2 - ми эквива­лентами, а затем вычислить выражение (2) по правилам системы счисления с основанием k 2.

Пример 1. Перевести число X(2) = 1011,1001 в десятичную систему счис­ления

Описанный метод перевода чисел из одной системы в другую получил назва­ние метода непосредственного замещения. Этот метод удобно использовать в случае, когда k 1< k 2 и при переводе чисел в такую систему, где просто выполняяются операции сложения и умножения (например, из двоичной системы в десятичную). Для упрощения вычисления при этом можно воспользоваться таким выражени­ем, полученным из (2):

Однако при переводе чисел в системы с «непривычными» основаниями, осо­бенно в случае k 1> k 2,применение этого метода связано с довольно громоздкими вычислениями. Поэтому во многих случаях удобнее пользоваться отдельными ме­тодами перевода целых чисел и правильных дробей.

Метод перевода целых чисел из системы с основанием k 1всистему с основа­нием k 2(k 1> k 2) заключается в следующем. Число делят на k 2поправилам деления с основанием k 1до получения остатка. Если частное от деления не нуль, то частное становится делимым и процесс деления на k 2продолжают. Как только очередное частное станет равным нулю, процесс деления на k 2 прекращают. Оста­ток, полученный при первом делении на k 2 , представляет цифру разряда резуль­тата с весом , остаток от второго деления представляет цифру результата с ве­сом ,и т. д. Последний остаток является старшей цифрой результата.

Пример 2. Перевести число Х (10) = 1247 в пятеричную систему счисления.

В случае, когда k 1< k 2, выполняют умножение цифры с весом , числа (старшей цифры числа ) на основание k 1, после чего к произведению прибав­ляют следующую (в порядке убывания весов) цифру числа . Результат преды­дущей операции умножают на k 1и прибавляют очередную цифру числа . Этот процесс заканчивают, когда будет прибавлена цифра с весом (младшая цифра). Все вычисления при этом выполняются в k 2-й системе счисления.

Пример 3. Перевести из двоичной системы в троичную число Х (2) = 10110110.

Перевод правильных дробей из системы счисления с основанием k 1всистему с основанием k 2 (k 1> k 2 ) осуществляется так. Дробь, соответствующая числу , умножается на k 2 по правилам умножения в системе с основанием k 1 . В по­лученном произведении отделяется целая часть, которая может быть равной нулю, а дробная часть снова умножается на k 2с последующим отделением целой части. Эти операции повторяют либо до получения нулевой дробной части произведе­ния, либо до получения необходимого количества разрядов числа в новой системе счисления. Старшая цифра результата перевода (т. е. первая после за­пятой) совпадает с первой отделенной целой частью, вторая цифра результата – со второй отделенной целой частью и т. д.

Пример 4. Перевести число Х (10) = 0,314 в двоичную систему счисления, ограничившись шестью разрядами после запятой.

 

При k 1< k 2 для перевода правильной дроби, имеющей т цифр после запятой, необходимо разделить цифру младшего разряда числа на k 1 и сложить со сле­дующей цифрой этого числа. Такую операцию необходимо повторить еще т –1 раз, используя на каждом шаге в качестве делимого сумму, полученную на преды­дущем шаге. Все операции выполняются в k 2-й системе.

Пример 5. Перевести в десятичную систему число Х (2) = 0,101101.

 

 

Перевод чисел в симметричные и кососимметричные системы счисления с ос­нованием k 2можно осуществить в три этапа. На первом этапе, используя рассмот­ренные выше правила, осуществляется перевод чисел в смещенную систему счис­ления с основанием k 2 . На втором этапе цифры k 2-й смещенной системы, которые отсутствуют в симметричной и кососимметричной системе, представляются двумя цифрами симметричной или кососимметричной системы, в которую осуще-ствляется перевод. На третьем этапе осуществляется суммирование всех допустимых для симметричной или кососимметричной системы цифр, полученных на первом и втором этапе, с учетом их весов по правилам этих систем счисления.

Пример 6. Перевести число Х (10) = 1247 в пятеричную каноническую сим­метричную систему счисления.

После выполнения первого этапа (см. пример 2) получим Х {5) = 14442. По­скольку допустимыми для симметричной системы счисления являются цифры {-2, -1, 0, 1, 2}, то цифру 4 представляем двумя цифрами симметричной систе­мы следующим образом: 4 = . На третьем этапе осуществляем суммирование. Результат суммирования является числом 1247, представленным в пятеричной симметричной системе счисления.

Для перевода чисел из симметричных и кососимметричных систем в смещен­ные системы достаточно просуммировать цифры числа в исходной системе с учетом их знаков и весов.

Пример 7. Перевести в десятичную смещенную систему число .

Перевод чисел из канонических систем в квазиканонические системы и об- рат­ный перевод выполняются аналогично.

Для преобразования нечетного положительного числа из k 1-й системы счисле­ния в двоичную систему с цифрами {1, } необходимо вначале перевести это число в двоичную систему с цифрами {0, 1). Затем, просматривая полученную запись слева направо, необходимо выделить все группы цифр вида 00...01, даже если они включают один нуль. Эти группы необходимо заменить на группы вида . Остальные цифры 1 остаются без изменения. При преобразовании нечетных отрицательных чисел группы цифр 00...01 необходимо заменить на группы 1...11, остальные цифры 1 заменить на .

Пример 8. Перевести число X (10)= 0,314 в двоичную систему с цифрами (1, }. Используя результат примера 4, получим:

X (2)= 0,0101000001; = 0,1 1 1 .

Обратный перевод выполняется так же, как и перевод из симметричных систем в смещенные.

Методы перевода чисел из систем с основанием 2 r в двоичную систему и наобо­рот очень просты, чем и объясняется широкое использование этих систем для ввода и вывода информации в ЭВМ. Для перевода числа из системы счисления с основанием 2 r в двоичную систему необходимо представить каждую цифру систе­мы с основанием 2 r посредством r двоичных разрядов.

Пример 9. Перевести числа X (8) = 762,15 и Y (16) = Е51А,7D в двоичную систему счисления.

X (2) = 111110010,001101; Y (2) =1110010100011010,01111101.

Для перевода двоичного числа в систему счисления с основанием 2 r необхо­димо, двигаясь от запятой влево и вправо, разбить двоичное число на группы, содержащие no r разрядов, дополняя при необходимости нулями крайние левую и правую группы. Затем каждую группу из r двоичных разрядов необходимо заме­нить цифрой системы счисления с основанием 2 r.

Пример 10. Перевести число Х {2) = 11111101, 1000001 в шестнадцатиричную систему счисления

Высокая скорость перевода чисел может быть достигнута с помощью табличных методов. В простейшем случае применения этих методов в памяти ЭВМ хра­нится таблица соответствия между всеми числами в системах счисления с основа­ниями k 1и k 2, а перевод сводится к обращению к нужной ячейке памяти. Однако размеры таблицы и занимаемый ею объем памяти часто оказы­ваются технически неприемлемыми. Поэтому с целью уменьшения занимаемого объема памяти в ней хранят только таблицы соответствия цифр за­данных систем счисления и весов их разрядов. Перевод чисел осуществляется пу­тем обращения к этим таблицам и выполнения операций сложения и умножения в системе с основанием k 2(как и по методу непосредственного замещения}. Если числа в системе с основанием k 1представлены п 1разрядами, то по пер­вому варианту размерность хранимой таблицы определяется строками, а по второму k 1+ п 1+1 строками.

В позиционных системах с отрицательным основанием k < –1 представле­ние любого рационального числа имеет вид


где xi – цифры i -го разряда. Отсюда следует, что веса отдельных разрядов в таких системах образуют ряд


На этом основан один из методов перевода чисел из системы с основанием k 1в систему с отрицательным основанием k 2< -1. Сначала число переводят в си­стему с положительным основанием k 2. Затем число разделяют на два числа А и B. При положительном числе разряды числа А с четным i (в том числе и i = 0) равны разрядам числа с таким же i, а разряды числа А с нечетным i равны нулю.

Разряды числа В с четным i равны нулю, а в разрядах с нечетным i каждая не равная нулю цифра заменяется единицей в i +1-м разряде и цифрой |k| - xi. После этого необходимо выполнить суммирование чисел A и В с учетом того, что переносы из разрядов с четным i имеют знак «+», а из разрядов с нечетным i – знак «–». Перенос из последнего (n -го) разряда чисел А и В заменяется цифрами 1 и | k |– 1 соответственно в п + 2-м и п + 1-м разрядах.

Если же число отрицательное, то разряды числа А с четным i при заменяются единицей в i+ 1-м разряде и цифрой |k|xi в i -м разряде. Нечет­ные разряды числа А равны нулю. Разряды числа В с четным i равны нулю, а разряды с нечетным i равны i -м разрядам числа . Суммирование чисел также должно осуществляться с учетом знаков переносов.

Пример 11. Перевести числа X (10) = 30,75 и Y (10) = – 23,5 в систему с ос­нованием k 2= – 2. В системе с основанием 2 указанные числа будут представ­лены как X (2) = 11110,11 и Y (2)= – 10111,1.

 

1 1 1 1 0, 1 1 1 0 1 1 1, 1

           
     
 


 

Таким образом, X (-2) = 1100011,11; Y (-2) = 111001,1.

Для перевода числа в систему с положительным основанием k 2 , необхо­димо также разделить на два числа А и B. При этом четные разряды числа А равны четным разрядам , нечетные разряды числа А равны нулю. Число В имеет в нечетных разрядах те же цифры, что и число в нечет­ных разрядах. Четные разряды В равны нулю. Далее, из А следует вычесть В, если положительное, или же из В вычесть А, если отрицатель­ное. Знак определяется знаком веса старшего разряда.

Пример 12. Перевести в систему с положительным основанием числа X (-2) = 10100,1101 и Y (-2) = 101101,10101. Первое из этих чисел положительное, так как его старший разряд имеет вес 24, а второе число отрицательное – вес его стар­шего разряда равен 25.

Другие методы перевода чисел всистемы с отрицательным k основаны на пос­ледовательном делении целого числа на основание ина последовательном умноже­нии дробей на основание. Припереводе целых чисел все остатки от деления и припереводе дробей целые части получаемых произведений должны быть положитель­ными, меньшими k. Для выполненияэтих требований при переводе дробей дробная часть D, используемая на каждом шаге перевода, должна удовлетворять условию

Перевод чисел из позиционной системы в СОК в простейшем случае выполня­ется путем деления числа X на модули Рi (i = ). Наименьшие положительные остатки от такого деления и образуют представление X в СОК. Однако такой ме­тод перевода часто оказывается малоэффективным из-за большого числа операций деления.

Другие методы перевода из позиционных систем в СОК основаны на использо­вании следующих свойств чисел, представленных остатками:

 

rest (A+B) (mod Pi) = (rest A (mod Pi) + rest B (mod Pi)) (mod Pi),

rest AB (mod Pi) = (rest A (mod Pi) x rest B (mod Pi)) (mod Pi). (4)

 

Пусть для заданного набора модулей Рi (i = )и позиционной k -ичной системы известны представления в остатках любой степени основания

k j = (k 1 j, k 2 j, …, k m j), (j = ),

а также любой k -ичной цифры

xj = (x 1 j , x 2 j , …, x m j ), (j = ).

Тогда

Xi = rest X (mod Pi) = rest (mod Pi) =

= (rest xj (mod Pi) rest k j (mod Pi)) (mod Pi) = (xi j k i j (mod Pi)) (mod Pi).

Таким образом, для нахождения остатка числа X по модулю Pi, необходимо сложить попарные произведения остатков цифр xj и весов k j. При этом все сложе­ния и умножения выполняются по модулю Pi.

Рассмотренный метод перевода применяется и в другом варианте, использующем не только свойства (4), но и следующее свойство:

 

rest AB (mod Pi) = (A rest B (mod Pi)) (mod Pi).

 

В этом случае для вычисления Хi достаточно иметь представление в остатках либо только степеней основания kj, либо только цифр хj, т.е.

Xi = (x j k i j (mod Pi)) (mod Pi) = (xi j k j (mod Pi)) (mod Pi). (5)

Пример 13. Перевести число X (10)= 839 в СОК с модулями Р 1= 3, Р 2 = 5, Р 3 = 7, P 4=11. Для степеней основания и заданных цифр позиционной десятич­ной системы имеем

102= (1, 0, 2, 1); 8 = (2, 3, 1, 8);

101=(1, 0, 3, 10); 3 = (0, 3, 3, 3);

100= (1, 1, 1, 1); 9 = (0, 4, 2, 9).

Далее находим остатки Xi:

Х 1= (1ּ2 +1ּ0 +1ּ0) (mod 3) = 2;

X 2 = (0ּ3 + 0ּ3 + 1ּ 4) (mod 5) = 4;

Х 3= (2ּ1 + 3ּ3 +1ּ2) (mod 7) = 6;

Х 4= (1ּ8 +10ּ3 +1ּ9) (mod 11) = 3.

 

Следовательно, X = (2, 4, 6, 3). Такой же результат получается и при использовании формул (5).

Наиболее простой и естественный путь перевода чисел из СОК в позиционную систему, состоящий в решении системы уравнений вида

 

X = l 1 P 1 + X 1; X = l 2 P 2 + X 2, …; X = li Pi + Xi,

 

на практике не может быть использован, так так число неизвестных X, l 1, l 2 , …, lm здесь больше числа уравнений и, следовательно, система уравне­ний имеет бесконечное множество решений. Поэтому для этих целей используются более сложные методы, обеспечивающие однозначность перевода.

Метод ортогональных базисов основан на использовании констант (ортого­нальных базисов) В 1 , В 2 , …, Вm , представление которых в СОК при заданном на­боре модулей Pi (i = ) имеет вид

В 1 = (1, 0, 0, …, 0);

В 2 = (0, 1, 0, …, 0);

…………………...;

Вm = (0, 0, 0, …, 1).

Представление числа X в позиционной k -ичной системе в этом случае может быть получено следующим образом:

 

где . Для фиксированного набора модулей Рi k -ичные представления констант Bi(k) могут быть вычислены заранее по формуле

Bi(k) = .

Здесь — вес i -го ортогонального базиса, выбираемый из условия

rest (mod Pi) = 1.

Пример 14. Перевести в десятичную систему число X = (2, 3, 4, 5), пред­ставленное в СОК с основаниями Р 1= 3, Р 2 = 5, Р 3 = 7, Р 4 = 11. В этом случае N = 3ּ5ּ7ּ11 = 1155; = 1, = 1, = 2, = 2; В 1= 385, B 2= 231, B 3 = 330, B 4 = 210. Следовательно,

X (10) = 2ּ385 + 3ּ231 + 4ּ330 + 5ּ210 (mod 1155) = 3833 (mod 1155) = 368.

Кроме метода ортогональных базисов для перевода чисел из СОК в позицион­ную систему используются также методы, основанные на промежуточном представ­лении числа в полиадической системе счисления. В такой системе при заданном наборе модулей Pi (i = )вес qi каждого i- горазряда равен qi -1 Pi,a q o = 1. Поэтому представление числа X в полиадической системе имеет вид

,

где bi — цифры полиадической системы. При переводе из СОК b 0= Х 1,а остальные цифры bi вычисляются по формулам

bi = rest ai (mod Pi +1),

,

.

 

Здесь – цифра bi -1,представленная остатками по всем основаниям, номер которых выше номера i –1; – так называемая формальная обратная величина модуля Pi по основаниям Рj; (i ≠ j). Остатки , которыми в СОК пред­ставляется формальная обратная величина Pi, выбираются из условия

rest Pi (mod Рj) = 1.

 

Пример 15. Перевести из СОК с основаниями Р 1= 5, Р 2 = 9, Р 3= 11 в де­сятичную систему число X = (3, 6, 10). Перед вычислением цифр bi полиадической системы найдем формальные обратные величины модулей Рij . Из условий

rest 5 P 12 (mod 9) = 1; rest 9 P 21 (mod 5) = 1;

rest 5 P 13 (mod 11) = 1; rest 9 P 23 (mod 11) = 1

 

следует Р 12 = 2, P 13= 9; Р 21 = 6, Р 23= 5. Кроме того, b 0= 3, = (3, 6, 10); = (3, 3, 3); = (0, 2, 9).

Следовательно, а 1(С0К) = ((3, 6, 10) - (3, 3, 3)) (0, 2, 9) = (0, 3, 7) (0, 2, 9) = (0,6, 8),

 

b 1 = rest a 1 (mod 9) = 6;

 

а 2(С0К) = ((0, 6, 8) - (0, 6, 6)) (6, 0, 5) = (0, 0, 2) (6, 0, 5) = (0,0, 10),

 

b 2 = rest a 2 (mod 11) = 10.

 

Таким образом, X (10) = b 0 + b 1 P 1 + b 2 P 1 P 2 = 3 + 6ּ5 + 10ּ5ּ9 = 483.

 




<== предыдущая лекция | следующая лекция ==>
Классификация по назначению | Терміни прийому заяв та документів, конкурсного відбору та зарахування на навчання до вищих навчальних закладів (ВНЗ) у 2014 році

Дата добавления: 2015-08-12; просмотров: 2596. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия