P-Q-ичными (P<Q) системами счисления называют позиционные системы, в которых каждая цифра числа, заданного в Q-ичной системе, заменяется соответствующим её представлением в P-ичной системе. При этом количество разрядов, отводимых под запись любой цифры Q-ичной системы в ее P-ичном представлении, равно числу P-ичных цифр в максимальной цифре Q-ичной системы счисления.
Пример 1. Во многих ЭВМ применялась (и сейчас встречается) двоично-десятичная (2-10-я) система счисления. Т.е. P=2,Q=10.
Запишем число 628,5 в этой системе счисления.
Максимальная цифра в 10-ой системе счисления 9. Она представляется в 2-ой системе счисления как 910=10012 и занимает 4 разряда. Т.е. под представление любой цифры из 10-ой системы счисления надо отводить по 4 разряда. Представим каждую цифру числа 628,5 в 2-ой системе счисления:
610=01102; 210=00102; 810=10002; 510=01012;
Заменим в исходной записи числа каждую десятичную цифру её двоичным эквивалентом. Тогда
628,510= 0110 0010 1000 ,01012-10=11000101000,01012-10
Крайние нули можно не писать.
Если требуется перейти из P-Q-ичной в Q-ичную систему счисления (в этом примере – в десятичную), то процесс обратный: разбиваем число на группы по 4 разряда “от запятой” вправо и влево, дополняя крайние группы нулями справа или слева до 4-х цифр. Каждую группу двоичных чисел заменяем одним десятичным числом.
В общем случае, если требуется перейти из P-Q–ичной системы счисления в десятичную, надо число разбить на группы по k разрядов (k – количество разрядов для представления максимальной Q-ичной цифры) “от запятой” вправо и влево, пронумеровать эти группы так же “от запятой” (это будет соответствовать степеням Q), каждую группу перевести в десятичную систему счисления и домножить на Q в соответствующей степени.
Если Q=Pm, где m- натуральное число, то такие системы счисления называются смешанными.
У чисел, записанных в смешанных системах счисления, есть некоторые замечательные свойства:
1) Если Q=Pm, то вид числа в P–ичной системе счисления совпадет с видом числа, записанным в P-Q –ичной системе счисления.
2) Если Q=Pm, то максимальная цифра Q-ичной системы счисления занимает m разрядов при её записи в P-ичной. И тогда можно сформулировать следующие алгоритмы:
Алгоритм перевода из P-ичной в Q-ичную систему счисления:
-запись числа в p-ичной системе счисления разбить на группы по m цифр, (“от запятой”);
-каждую группу из m цифр заменить одной цифрой в системе счисления с основанием Q.
Алгоритм перевода из Q-ичной в P-ичную систему счисления:
Каждую цифру в записи в Q-ичного числа отдельно перевести в p-ичную система счисления.
Пример 2. Пусть P=2, Q=8. Продемонстрируем сказанное на числе 125,510.
Его двоичная запись1111101,12. Его восьмеричная запись 175,48.
Переведём 175,48 в 2-8-ичную систему счисления:
максимальная цифра восьмеричной системы счисления равна 7.
78=4+2+1=1112 ( пользуемся компьютерным алгоритмом перевода в двоичную система счисления). Т.е. при записи в 2-8 системе надо выделять по 3 разряда под каждую цифру. Получим:
1=0012; 7=1112; 4=1002; 5=1012.
Теперь запишем число в 2-8 системе:
001111101,100.
Если откинуть крайние нули, то двоично-восьмеричный вид числа совпадает с его двоичным видом. (Т.к. 23=8 => это смешанная система счисления и вид числа в 2-ой системе счисления аналогичен виду в 2-8-ой системе счисления)
Пример 3 . Переведём 1010,000110112 в восьмеричную систему счисления.
Т.к 8=23, это смешанные системы счисления, следовательно, запись числа разбиваем на группы по 3 цифры (в примере – пробелами), дополняя нулями крайние группы, и каждую группу заменяем её восьмеричным эквивалентом:
001 010 , 000 110 1102=12,0668
Реально в ЭВМ используются 2-8 и 2-16 системы счисления.
Одно из практических применений смешанных систем счисления состоит в том, что арифметические действия над числами, записанными в любой системе счисления, можно выполнять в системе, смешанной с исходной, если последняя для вас более удобна.
В частности, действия над восьмеричными или шестнадцатеричными числами легко заменяются на двоичную арифметику.
Пример 4 . Требуется сложить два 16-ричных числа 19F16 и13E16. Сделать это можно несколькими способами:
а) перевести числа в десятичную систему счисления, сложить и результат перевести обратно в шестнадцатеричную;
б) сложить числа, не выходя из шестнадцатеричной системы счисления, опираясь на соответствующую таблицу сложения;
в) перевести числа в двоичную систему счисления, там сложить и результат перевести в шестнадцатеричную.
Воспользуемся последним вариантом. Т.к. 16=24, это смешанные системы счисления, и переход из одной системы в другую происходит достаточно легко. Для перевода в двоичную система счисления следует каждую шестнадцатеричную цифру заменить двоичным эквивалентом из 4-х разрядов.
19F16 =0001 1001 11112
13E16 =0001 0011 11102
Теперь складываем двоичные числа (нули слева можно не писать):
1100111112
+1001111102
10110111012
Для перевода результата в шестнадцатеричную системе счисления разбиваем число на группы по 4 разряда от запятой (запятая неявно присутствует после крайней правой цифры). В примере крайнюю левую группу дополняем нулями слева до 4-х разрядов:
0010 1101 11012
Каждую группу заменяем одной шестнадцатеричной цифрой:
2DD16.
Для проверки можно воспользоваться вариантом а). Времени при этом уйдёт намного больше.
Ещё одно применение смешанных систем счисления – перевод из одной системы счисления в другую, даже если они не являются непосредственно смешанными.
Пример 5 . Требуется перевести число BF3,616 из 16-ричной системы счисления в 8-ричную. Можно сначала перевести число в десятичную с.с, а из неё в восьмеричную. Но мы воспользуемся тем, что двоичная система является смешанной и с шестнадцатеричной, и с восьмеричной. Т.е. сначала переведём число из шестнадцатеричной системы счисления в двоичную, а потом в восьмеричную.
Т.к. 16=24, следовательно для записи каждой шестнадцатеричной цифры надо выделять по 4 разряда:
BF3,616=1011 1111 0011, 01102
Теперь переведём число из двоичной в восьмеричную систему счисления Т.к. 8=23, разбиваем запись числа на группы по 3 разряда и каждую группу записываем одним восьмеричным числом:
101 111 110 011 , 011 0002=5763,386.
34590; 27153
1 0001 1001 0001 0001; 1 0000 0001 0000 0111 1001.
A45; 24A,9F; 0,FDD5; F12,0457.