Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Перевод чисел из одной естественной системы счисления в другую

Перевод чисел из одной системы счисления в другую

Обозначим символом S основание исходной системы, а символом S- основание системы, в которую число x необходимо перевести. Предположим вначале, что S и S являются натуральными, а x – целым.

3.2.1.1. Перевод по методу непосредственной замены в этом случае сводится к реализации соотношения: (3.9)

где - код количества x в системе счисления с основанием S;

- цифры системы с основанием ,i =0,1,…,n;

() – количественный эквивалент цифры в нулевом разряде этой системы;

- цифры системы с основанием , j=0,1,…,k.

Так, к примеру,

Как видим, при такой замене необходимо помнить представление всех компонент в системе с основанием и уметь выполнять в этой системе арифметические действия. Следовательно, этот метод удобен, когда - основание привычной для нас системы счисления.

3.2.1.2. При табличном методе перевода предварительно составляется таблица вида табл. 3.12.

3.12

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

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

Поясним рассмотренный метод на примере перевода кода в двоичную систему счисления. Соответствующая таблица будет иметь вид, в ней же приведен и результат перевода:

Легко понять, что этот метод удобен, когда S- основание привычной для нас системы счисления. Число столбцов составляемой таблицы определяется максимальной разрядностью кода .

3.2.1.3. Для перевода целых чисел широко используется также метод деления, заключающийся в следующем. Запишем результат перевода в виде

.

Очевидно, что

(3.10)

Разделим левую и правую часть (2.1.2) на .

При этом , (3.11)

а наименьший положительный остаток будет равен . Другими словами, мы получаем в остатке в результате этого деления цифру в -ичной записи. Легко видеть из (3.11), что при делении на в остатке будет получена -ичная запись цифры и т.д. Это позволяет сформулировать следующее правило перевода целых чисел по методу деления:

- найти ;

- проверить не равно ли частное нулю; если нет, то вернуться к предыдущему пункту, заменив на , и т.д.;

- при получении частного, равного нулю, выписать все полученные ранее остатки в порядке, обратном порядку их получения, заменив их цифрами -ичной системы, если это необходимо. Найденная запись есть .

Пусть, к примеру, . Тогда

Следовательно, .

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

Рассмотрим теперь при неизменных прочих условиях задачу перевода дробных чисел. Ясно, что о точном переводе здесь уже говорить не приходится, поскольку конечная -ичная дробь может не иметь конечного -ичного представления. Поэтому перевод, как правило, осуществляется с некоторой заранее заданной точностью , задаваемой обычно в виде некоторой отрицательной степени , т.е. = , где l – целое число.

При переводе дробных чисел, также как и при переводе целых чисел, можно воспользоваться методом непосредственной замены и табличным методом. При этом соотношение (3.9) принимает вид

а табл.3.12 трансформируется в табл.3.13. Здесь и - цифры -ичной и -ичной систем соответственно, i = -1, -2, …, -m; j = -1, -2, …, -l. Все отмеченные выше достоинства и недостатки этих методов справедливы и в рассматриваемом случае.

3.13

3.2.1.4. Однако наиболее часто при переводе дробных чисел используют метод умножения. Запишем результат перевода в виде

 

Ясно, что

(3.12)

Умножим левую и правую части (3.12) на . Получим и дробную часть, равную

Вновь умножая последнюю на , получим в качестве новой целой части и т.д. Другими словами, в процессе умножения дробных частей в качестве целых частей получаются -ичные представления цифр , , ….

Это позволяет сформулировать следующее правило перевода дробных чисел по методу умножения:

- найти ;

- возвратиться к предыдущему пункту, заменив на дробную часть произведения ;

- закончить перевод, выполнив l повторений первого пункта, если точность перевода = ; выписать найденные в процессе перевода целые части в порядке их получения, заменив их цифрами -ичной системы, если это необходимо; найденная запись есть .

Пусть, к примеру, =10, =15, =0,17, =. Тогда 2,55; 8,25; 3,75; 11,25; 3,75. Следовательно, , где - цифра с количественным эквивалентом в нулевом разряде, равным 11.

Легко понять, что метод умножения наиболее удобен, когда исходная система счисления привычна для человека.

При переводе смешанного числа целая и дробная его части переводятся отдельно, как это было изложено выше, а затем полученные коды объединяются в общую запись.

Рассмотрим теперь частный случай перевода чисел из одной системы счисления с натуральным основанием в другую, когда , где r - целое положительное число.

3.2.1.5. Справедливо следующее утверждение. Для перевода любого числа x из системы счисления с основанием в систему с основанием необходимо заменить каждую цифру в коде её r-разрядным -ичным кодом.

Действительно, если , то как следует из соотношения (3.1), , причем . Замена цифры соответствующим ей -ичным кодом позволяет заменить в этом соотношении её количественный эквивалент равным ему эквивалентом (3.13)

,

где , () – некоторая -ичная цифра и отвечающий ей эквивалент в нулевом разряде в порядке упоминания, Подставляя (3.13) в (3.1), найдем, что

.

Положим теперь . При i=-m, =0 j=-rm, а при i=n,=r-1 j=r(n+1)-1.

Тогда . (3.14)

Соотношение (3.14) позволяет смотреть на запись, полученную в результате замены, выполненной в соответствии со сформулированным выше предложением, как на представление числа x в -ичной системе, то есть как на код .

Легко понять также, что переход от к может быть реализован в обратном порядке. При этом код следует разбить влево и вправо от запятой на группы разрядов по r разрядов в каждой, а затем заменить упомянутые группы соответствующими им -ичными цифрами.

Так, к примеру, .

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

Пусть, например, надо перевести число =70,375 в симметричную троичную систему. Это число в обычной троичной системе имеет вид =2121,101 с точностью до . Имеем

+

Окончательный ответ: .

3.2.1.6.Рассмотрим, наконец, случай перевода чисел в систему счисления с отрицательным основанием. Общий алгоритм такого перевода мы описывать не будем, а ограничимся лишь изложением без доказательства правил перевода в систему с основанием -2. Для этого исходное число переводится сначала в обычную двоичную систему счисления. Далее при под ним подписывается число, у которого в каждом четном разряде имеется 1, если в соседнем справа разряде у есть 1. Эти числа суммируются по правилам сложения в минус двоичной системе. При подписываемое число имеет 1 в каждом нечетном разряде, если выполняется аналогичное условие. Знак же в процессе минус двоичного сложения игнорируется.

Так, например, если =-107, то =-110 1011.

Получаем 01101011

+ 10000010

Следовательно, =10010101.

 

<== предыдущая лекция | следующая лекция ==>
Сравнение различных систем счисления с точки зрения их применения в ЭВМ | Перевод чисел из системы счисления с натуральным основанием в двоично-десятичную систему и обратно
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 907; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.037 сек.