Компьютеры
и программирование

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

Системы счисления: основные сведения

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

Восьмеричная и шестнадцатеричная системы счисления

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

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

Системы счисления: основные сведения

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

Количество s различных цифр, употребляемых в системе счисления, называется основанием, или базой системы счисления. В общем случае положительное число X в позиционной системе с основанием s может быть представлено в виде полинома:

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

В вычислительной технике наибольшее применение нашли двоичная (BIN - binary), и двоично кодированные системы счисления: восьмеричная (OCT - octal), шестнадцатеричная (HEX - hexadecimal) и двоично-кодированная десятичная (BCD - binary coded decimal).

В дальнейшем для обозначения используемой системы счисления число будет заключаться в скобки, а в индексе указано основание системы. Число X по основанию s будет обозначено .

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

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

Основанием системы счисления служит число 2 (s = 2) и для записи чисел используются только две цифры: 0 и 1. Чтобы представить любой разряд двоичного числа, достаточно иметь физический элемент с двумя чётко различными устойчивыми состояниями, одно из которых изображает 1, а другое 0.

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

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

Восьмеричная и шестнадцатеричная системы счисления

Эти системы счисления относятся к двоично-кодированным, в которых основание системы счисления представляет собой целую степень двойки: - для восьмеричной и - для шестнадцатеричной.

В восьмеричной системе счисления(s = 8) используются 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7.

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

В шестнадцатеричной системе счисления (s = 16) используются 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Пример записи числа в шестнадцатеричной системе:

Широкое применение восьмеричной и шестнадцатеричной систем счисления обусловлено двумя факторами.

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

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

Соответствие между цифрами в различных системах счисления
DEC
BIN
OCT
HEX
BCD
0
0000
0
0
0000
1
0001
1
1
0001
2
0010
2
2
0010
3
0011
3
3
0011
4
0100
4
4
0100
5
0101
5
5
0101
6
0110
6
6
0110
7
0111
7
7
0111
8
1000
10
8
1000
9
1001
11
9
1001
10
1010
12
A
0001 0000
11
1011
13
B
0001 0001
12
1100
14
C
0001 0010
13
1101
15
D
0001 0011
14
1110
16
E
0001 0100
15
1111
17
F
0001 0101

Для обратного перевода каждая OCT или HEX цифра заменяется соответственно триадой или тетрадой двоичных цифр, причём незначащие нули слева и справа отбрасываются.

Для рассмотренных ранее примеров это выглядит следующим образом:

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

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

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

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

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

Пусть X - число в системе счисления с основанием s, которое требуется представить в системе с основанием h. Удобно различать два случая.

В первом случае и, следовательно, при переходе к основанию h можно использовать арифметику этой системы. Метод преобразования состоит в представлении числа в виде многочлена по степеням s, а также в вычислении этого многочлена по правилам арифметики системы счисления с основанием h. Так, например, удобно переходить от двоичной или восьмеричной системы счисления к десятичной. Описанный приём иллюстрируют следующие примеры:

.

.

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

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

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

Правила перевода целых чисел становится ясным из общей формулы записи числа в произвольной позиционной системе. Пусть число в исходной системе счисления s имеет вид . Требуется получить запись числа в системе счисления с основанием h:

.

Для нахождения значений разделим этот многочлен на h:

.

Как видно, младший разряд , то есть , равен первому остатку. Следующий значащий разряд определяется делением частного на h:

.

Остальные также вычисляются путём деления частных до тех пор, пока не станет равным нулю.

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

Пример 1. Перевести число 75 из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы.

Решение:

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

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

Правильную дробь , имеющую в системе с основанием s вид , можно выразить в системе счисления с основанием h как многочлен вида

Старшая цифра может быть найдена умножением этого многочлена на h, т.е.

Если это произведение меньше 1, то цифра равна 0, если же оно больше или равно 1, то цифра равна целой части произведения. Следующая цифра справа определяется путём умножения дробной части указанного выше произведения на h и выделения его целой части и т.д. Процесс может оказаться бесконечным, т.к. не всегда можно представить дробь по основанию h конечным набором цифр.

Для перевода правильной дроби из системы счисления с основанием s в систему счисления с основанием h нужно умножать исходную дробь и дробные части получающихся произведений на основание h (по правилам "старой" s-системы счисления). Целые части полученных произведений дают последовательность цифр дроби в h-системе счисления.

Описанная процедура продолжается до тех пор, пока дробная часть очередного произведения не станет равной нулю либо не будет достигнута требуемая точность изображения числа X в h-ичной системе счисления. Представлением дробной части числа X в новой системе счисления будет последовательности целых частей полученных произведений, записанных в порядке их получения и изображённых h-ичной цифрой. Абсолютная погрешность перевода числа X при p знаков после запятой равняется .

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

* В двоичную систему:

Ответ:

** В восьмеричную систему:

Ответ:

*** В шестнадцатеричную систему:

Ответ: так как , то

Поделиться с друзьями