Смешанные системы счисления в информатике

Смешанные системы счисления в информатике

Смешанной называется система счисления, в которой числа, заданные в некоторой системе счисления с основанием P изображаются с помощью цифр другой системы счисления с основанием Q , где Q

старшим основанием , Q — младшим основанием , а сама система счисления называется Q-P-ичной .

В смешанной системе счисления во избежании разночтения для изображения каждой P-ичной цифры отводится одинаковое количество Q-ичных разрядов, достаточное для представления любой P-ичной цифры.

Двоично-десятичная система счисления

Примером смешанной системы счисления является двоично-десятичная система . В двоично-десятичной системе счисления для изображения каждой десятичной цифры отводится 4 двоичных разряда, поскольку максимальная десятичная цифра 9 кодируется как 10012. Например,

Здесь последовательные четверки (тетрады) двоичных разрядов изображают цифры 9, 2 и 5 десятичной записи соответственно.

Хотя в двоично-десятичной записи используются только цифры 0 и 1, эта запись отличается от двоичного изображения данного числа. Например, двоичный код 1001 0010 0101 соответствует десятичному числу 2341, а не 925.

В случае если P=Q l (l – целое положительное число), запись любого числа в смешанной системе счисления тождественно совпадает с изображением этого числа в системе счисления с основанием Q. Примерами такой смешанной системы счисления являются двоично-восьмеричная и двоично-шестнадцатеричная.

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

где на коэффициенты накладываются некоторые ограничения. Записью числа z в смешанной системе счисления называется перечисление его цифр в порядке уменьшения индекса k , начиная с первого ненулевого.Если для некоторого p , то смешанная система счисления совпадает с p-ичной системой счисления. Наиболее известным примером смешанной системы счисления являются представление времени в виде количества суток, часов, минут и секунд. При этом величина d дней h часов m минут s секунд соответствует значению секунд.

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

Правила перевода целых чисел.

Результатом является целое число.

1. Из десятичной системы счисления — в двоичную и шестнадцатеричную:

a. исходное целое число делится на основание системы счисления, в которую переводится (2 или 16); получается частное и остаток;

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

c. все полученные остатки и последнее частное преобразуются в соответствии с таблицей в цифры той системы счисления, в которую выполняется перевод;

d. формируется результирующее число: его старший разряд — полученное последнее частное, каждый последующий младший разряд образуется из полученных остатков от деления, начиная с последнего и кончая первым. Таким образом, младший разряд полученного числа — первый остаток от деления, а старший — последнее частное.

Пример 3.1. Выполнить перевод числа 19 в двоичную систему счисления:

Пример 3.2. Выполнить перевод числа 19 в шестнадцатеричную систему счисления:

Пример 3.3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:

2. Из двоичной и шестнадцатеричной систем счисления — в десятичную. В этом случае рассчитывается полное значение числа по формуле.

Пример 3.4. Выполнить перевод числа 1316 в десятичную систему счисления.

1316 = 1*16 1 + 3*16 0 = 16 + 3 = 19.

Таким образом, 1316 = 19.

Пример 3.5. Выполнить перевод числа 100112 в десятичную систему счисления. Имеем:

100112 = 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16+0+0+2+1 = 19.

Таким образом, 100112 = 19.

3. Из двоичной системы счисления в шестнадцатеричную:

a. исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного двоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;

b. каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей

Пример 3.6. Выполнить перевод числа 100112 в шестнадцатеричную систему счисления.

Поскольку в исходном двоичном числе количество цифр не кратно 4, дополняем его слева незначащими нулями до достижения кратности 4 числа цифр. Имеем:

4. Из шестнадцатеричной системы счисления в двоичную:

Читайте также:  Шарик бегает по экрану

a. каждая цифра исходного числа заменяется тетрадой двоичных цифр в соответствии с таблицей. Если в таблице двоичное число имеет менее 4 цифр, оно дополняется слева незначащими нулями до тетрады;

b. незначащие нули в результирующем числе отбрасываются.

Пример 3.7. Выполнить перевод числа 1316 в двоичную систему счисления.

По таблице имеем: 116 = 12 и после дополнения незначащими нулями 12 = 00012; 316 = 112 и после дополнения незначащими нулями 112 = 00112. Тогда 1316 = 000100112. После удаления незначащих нулей имеем 1316 = 100112.

Правила перевода правильных дробей

Результатом является всегда правильная дробь.1. Из десятичной системы счисления — в двоичную и шестнадцатеричную:

a. исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);

b. в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается — она является старшей цифрой получаемой дроби;

c. оставшаяся дробная часть вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б).

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

e. формируется результат: последовательно отброшенные в шаге б) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.

Пример 3.8. Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.Имеем:

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

Таким образом, 0,847 = 0,11012.

Пример 3.9. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

В данном примере также процедура перевода прервана. Таким образом, 0,847 = 0,D8D2.

2. Из двоичной и шестнадцатеричной систем счисления — в десятичную. В этом случае рассчитывается полное значение числа по формуле, причем коэффициенты ai принимают десятичное значение в соответствии с таблицей.

Пример 3.10. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012.

Имеем: 0,11012 = 1*2 -1 + 1*2 -2 + 0*2 -3 +1*2 -4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.

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

Таким образом, 0,11012 = 0,8125.

Пример 3.11. Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D16. Имеем: 0,D8D16 = 13*16 -1 + 8*16 -2 + 13*16 -3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.

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

Таким образом, 0,D8D16 = 0,84692.

3. Из двоичной системы счисления в шестнадцатеричную:

a. исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;

b. каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей.

Пример 3.12. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,11012. Имеем: 0,11012 = 0,11012 В соответствии с таблицей 11012 = D16. Тогда имеем 0,11012 = 0,D16.

Пример 3.13. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012.

Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль: 0,00101012 = 0,001010102. В соответствии с таблицей 00102 = 102 = 216 и 10102 = A16. Тогда имеем 0,00101012 = 0,2A16.

4. Из шестнадцатеричной системы счисления в двоичную:

a. каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей;

b. незначащие нули отбрасываются.

Пример 3.14. Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А16.

По таблице имеем 216 = 00102 и А16 = 10102. Тогда 0,2А16 = 0,001010102. Отбросим в результате незначащий ноль и получим окончательный результат: 0,2А16 = 0,00101012.

В ряде случаев числа, заданные в системе счисления с основанием Р, приходится изображать с помощью "цифр другой системы счисления с основанием Q, где Q

Читайте также:  Сколько должен весить windows 7

-ичной системе. В такой системе Р называется старшим основанием, a Q — младшим основанием, а сама смешанная система называется (Q — Р)-ичной. Для того чтобы запись числа в смешанной системе счисления была однозначной, для представления любой Р-ичной цифры отводится одно и то же количество £?-ичных разрядов, достаточное для предс тавления любого базисного числа Р-ичной системы. Так, в сме шанной двоично-десятичной системе счисления для изображения каждой десятичной цифры отводится четыре двоичных разряда. , Например, десятичное число х = 925 в двоично-десятичной системе запишется в виде 1001 0010 0101. Здесь последовательные четверки (тетрады) двоичных разрядов изображают цифры 9, 2, 5 записи числа в десятичной системе счисления. Следует обратить внимание, что хотя в двоично-десятичной записи числа и используются только цифры 0 и 1, эта запись отличается от двоичного изображения данного числа. Например, приведенный выше двоичный код в двоичной системе счисления изображает число 2341, а не число 925.

Условимся изображать принадлежность числа к (Q — /*)-ичной системе счисления с помощью нижнего индекса (Q — Р) при данном числе, например: 925ю= 100i001001012_m.

Аналогично рассмотренной выше двоично-десятичной системе можно использовать и другие смешанные системы при различных значениях Р и Q. Особого внимания заслуживает случай, когда Р = Q‘, где / — целое положительное число. В этом случае запись какого-либо числа в смешанной системе тождественно совпадает с изображением этого числа в системе счисления с основанием Q (что не имеет места в двоично-десятичной системе в общем случае ).

Докажем это утверждение. Рассмотрим произвольное целое число N. В Р-ичной системе счисления это число будет записано в виде

Как видно, эта запись тождественно совпадает с приведенной выше записью числа N в смешанной системе счисления, где каждая очередная группа из / цифр является просто изображением соответствующего коэффициента pf в системе счисления с осно ванием Q.

Все сказанное выше относительно целых чисел автоматически переносится и на случай произвольных чисел. Таким образом, изображение числа х в Р-ичной системе счисления в случае Р — Q является просто сокращенной записью изображения этого же числа х

в g-ичной системе.

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

101110.1 числа 46.5 можно записать короче с использованием цифр других систем, причем эта сокращенная запись одновременно является и изображением данного числа в соответствующей системе счисления:

3.3,5. ПЕРЕВОД ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫСЧИСЛЕНИЯ В ДРУГУЮ

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

При рассмотрении правил перевода чисел из одной системы счисления в другую ограничимся только такими системами счис ления, у которых базисными числами являются последовательные целые числа от 0 до Р

включительно, где Р — основание системы счисления.

Задача перевода заключается в следующем. Пусть известна запись числа х в системе счисления с каким-либо основанием Р:

где pi — цифры r-ичной системы (0

где qt —искомые цифры 0-ичнои системы (0 P. Задача перевода произвольного числа х, задан ного в системе счисления с основанием Q, в систему счисления с основанием Р сводится к вычислению полинома вида

Для получения Р-ичного изображения выражения (3.11) необхо димо все цифры qt и число Q заменить Р-ичными изображениями и выполнить арифметические операции в Р-ичной системе счисления.

Читайте также:  Bootrec rebuildbcd элемент не найден

Пример 1.Перевести число х

371В в десятичную систему счисления, пользуясь

правилами десятичной арифметики.

Для перевода запишем число х в виде х = 3*8 2 н- 7*8′ + 1 и выполним все необходимые действия в десятичной системе:

х = 3×64 +7×8+ 1 = 192 + 56+1 =249.

Пример 2.Перевести число *=af4!6 в десятичную систему счисления, пользуясь

правилами десятичной арифметики.

Для перевода запишем число х в видел = 10х1б’ + 15×16° + 4 х ! б" 1 и выполним все необходимые действия в десятичной системе:

х =10×16+ 15 + 4/16=160+15+0.25=175.25.

Заметим, что при переводе следует придерживаться правила сохранения точности изображения числа в разных системах, причем под точностью понимается значение единицы самого младшего (правого) разряда, используемого в записи числа в той или иной системе счисления.

Перевод Р> Q. Так как для перевода любого числа достаточно уметь переводить его целую и дробную части, рассмотрим отдельно эти два случая.

1. Перевод целых чисел. Пусть известна запись целого числа ./V в системе счисления с основанием Р и требуется перевести это число в систему счисления с основанием Q. Так как N— целое, то его запись в (9-ичной системе счисления имеет вид

где q, — искомые цифры £?-ичной системы (0 4 + q. &- 1 + . + q>Q ] +q (3.12)

на число Q, причем в левой части произведем деление, пользуясь правилами Р-ичной арифметики (так как запись числа ./V в Р-ичной системе счисления известна), а правую часть перепишем в виде

WQ = qff 1 + q^O* +. + qi+qo/Q.
3-514 65

Приравнивая между собой полученные целые и дробные части (учитывая, что q, l + q^ff

Таким образом, младший коэффициент qQ в разложении (3.12) определяется соотношением

причем указанные здесь действия на самом деле не выполняются, так как qQ является просто остатком от деления N на Q. Положим

N> = [N/Q] = qxff’ 1 + g,,_>ff- 2 + . + -ичной системе счисления можно представить в виде полинома

q-lff l +q-2ff 2 +. + q*ff m +.

где q.i (i = 1, 2, . ) — искомые коэффициенты £-ичного разложения числа х. Для определения q. умножим обе части равенства (3.14) на число Q, причем в левой части произведем умножение, пользуясь правилами Р-ичной арифметики (так как запись числа JE в Р-ичной системе счисления известна), а правую часть перепишем в виде

Приравняем между собой полученные в правой части этого выражения целые и дробные части (учитывая, что 0 m *+-

Таким образом, младший коэффициент q. <в разложении (3.14) определяется соотношением

Тогда х будет правильной дробью и к этому числу можно применить ту же самую процедуру для определения следующего коэффициента q.i и т.д.

Таким образом, при условии, что х = х, перевод дроби с исполь зованием Р-ичной арифметики осуществляется по следующим рекур рентным формулам:

Этот процесс продолжается до тех пор, пока не будет получено xi+i = 0 или не будет достигнута требуемая точность изображения числа.

Замечание. При переводе приближенных дробей из одной системы счисления в другую необходимо ‘придерживаться следую щего правила.

Если единица младшего разряда числа л;, заданного в Р-ичной системе счисления, есть Р

, то в его g-ичной записи следует сохранить / разрядов после запятой, где / удовлетворяет условию

gi >p- k !2>Q- ( l + l

округляя последнюю оставляемую цифру обычным способом.

Пример5. Перевести число х = 0.2 в двоичную систему счисления с использованием средств десятичной арифметики. Применение формул (3.15) при водит к такой последовательности действий:

0.2×2 = 0.4 = 0 + 0.4 =>?_, =0

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Как то на паре, один преподаватель сказал, когда лекция заканчивалась — это был конец пары: "Что-то тут концом пахнет". 8526 — | 8112 — или читать все.

91.146.8.87 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Ссылка на основную публикацию
Adblock detector