В повседневной жизни мы используем счёт, основанный на десятичной системе счисления. Что это значит? Это значит, что все числа, которыми мы пользуемся, отображаются с помощью всего лишь 10 символов или цифр. Они знакомы нам с детства: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Например, запись числа «девятьсот шестьдесят восемь» состоит из символов, входящих в указанный набор: 968. Так можно отобразить любое число.
Но есть и другие системы счисления. Например, двоичная. Здесь для записи любого числа используется набор всего из двух символов-цифр: 0 и 1. Чтобы записать в этой системе десятичное число 13, понадобятся четыре цифры: 1101. Указанный фокус можно проделать с любым десятичным числом, записав его в виде последовательности символов, входящих в определённый набор. Этот набор является своего рода алфавитом, из букв которого строятся слова-числа.
Свод правил, по которым можно производить те или иные действия с числами, записанными с использованием символов из такого алфавита (сложение, вычитание, умножение, деление и т. д. ), и называют системой счисления (с. с.). А количество всех символов, входящих в набор-алфавит, называют основанием с. с. При записи числа в такой системе место, на котором находится каждая цифра в нём, будет её разрядом. Разряды же нумеруются справа налево от 0 и до бесконечности.
Содержание:
Какие бывают системы счисления
На самом деле, существует бесчисленное множество с. с. Например, количество позиционных с. с., к которым относятся системы с натуральным основанием, бесконечно. Потому что, каким бы огромным числом ни было основание, всегда можно выразить любое число в данной системе счисления. Главное, чтобы хватило символов для его записи. Например, для записи чисел в системе счисления с основанием 666 понадобится алфавит, включающий в себя ровно 666 символов-букв или, если хотите, цифр.
Таким образом, теоретически можно использовать позиционные с. с. с любым натуральным основанием. Но на практике мы используем лишь небольшое их количество. К ним относятся: двоичная, троичная, восьмеричная, десятичная, двенадцатеричная, шестнадцатеричная и шестидесятеричная с. с.
Двоичная используется в программировании, информатике и дискретной математике, десятичная — во всех сферах жизни, где есть необходимость считать и измерять, шестнадцатеричная — также используется в информатике и программировании (особенно, в низкоуровневом, где используются языки ассемблеры), а также в компьютерной документации, шестидесятеричная — в счёте и измерении времени и углов (в частности, географических координат).
Кроме упомянутых, есть и другие системы, не относящиеся к позиционным. Это смешанные и непозиционные с. с., которые мы здесь рассматривать не будем.
Как сделать перевод из десятичной системы счисления в шестнадцатеричную
Итак, как уже было упомянуто, любое число в позиционной системе с основанием N можно представить последовательностью символов из набора, состоящего из N цифр и букв. В шестнадцатеричной системе таким набором будут цифры от 0 до 9 и латинские буквы A, B, C, D, E, F, итого — 16 символов.
Чтобы сделать перевод из десятичной в шестнадцатеричную систему, вовсе не понадобится калькулятор, если вы хотите научиться делать это сами, вручную. Итак, запаситесь терпением и… вперёд!
Возьмём любое число X, записанное в десятичной с. с., целая часть которого [X] равна P, а дробная часть {X} равна Q. Если X<0, то знак «минус» вначале нужно отбросить, а в конце снова приписать, во избежание путаницы. Далее, следуя алгоритмам 1 и 2, вы получите из Х шестнадцатеричный вид.
Алгоритм 1
Перевод целого десятичного числа в шестнадцатеричное
- Разделите P на 16. У вас получатся: частное P0, как результат деления, и остаток от деления R0.
- Если P0≠0, то разделите P0 на 16. У вас получится частное P1 и остаток R1. Если P0=0, то переходите к пункту 4.
- Продолжайте производить деление, как в пунктах 1 и 2. У вас будут получаться пары чисел (Pi, Ri), где i=0, 1, 2,…, k.
- Если частное от деления станет равным нулю, то процесс деления прекращается. Все полученные остатки Ri запишите в последовательности, начиная с последнего. У вас получится ряд Rk,…, R2, R1, R0. Если среди остатков Ri есть числа, большие 9, то для их обозначения используйте буквы латинского алфавита: 10 — А, 11 — В, 12 — С, 13 — D, 14 — E, 15 — F. Полученная последовательность Rk…R2 R1 R0 будет шестнадцатеричной формой записи десятичного числа Р, что записывается так: Р (10)=Rk…R2 R1 R0 (16).
Алгоритм 2
Перевод дробного десятичного числа в шестнадцатеричное
- Умножьте Q<1 на 16. В полученном результате выделите целую S1 и дробную Q1 части.
- Если Q1≠0, то умножьте Q1 на 16. В полученном результате снова выделите целую S2 и дробную Q2 части. Если Q1=0, то перейдите к пункту 4.
- Продолжайте производить умножение, как в пунктах 1 и 2. У вас получатся пары чисел (Qj, Sj), где j=1, 2, 3,…, n.
- Если дробная часть результата умножения станет равной нулю, то процесс умножения прекращается. Все полученные числа Sj запишите в последовательности, начиная с первого. У вас получится ряд S1, S2, S3,…, Sn. Если среди Sj есть числа, большие 9, то для их обозначения используйте латинские буквы: 10 — А, 11 — В, 12 — С, 13 — D, 14 — E, 15 — F. Полученная последовательность S1 S2 S3… Sn будет 16-ичной формой записи 10-ичного числа Q, что записывается так: Q (10)=S1 S2 S3… Sn (16).
Как перевести число из шестнадцатеричной системы счисления в десятичную
Согласно одной алгебраической теореме, любое число Y, записанное в N-ичной с. с., можно представить в виде:
Y (N)=Rk•N^k+…Ri•N^i+…+R3•N 3 +R2•N 2 +R1•N 1 +R0•N 0 +S1•N^(-1)+S2•N^(-2)+S3•N^(-3)+…+Sj•N^(-j)+…+Sn•N^(-n) =Rk…Ri…R2 R1 R0, S1 S2 S3… Sj… Sn=X (10).
В этом выражении коэффициенты N^i (i=0…k) и N^(-j) (j=1…n) называются весовыми коэффициентами разрядов, Riи Sj — цифрами N-ичного числа, i — номером разряда в целой части R, (-j) — номером разряда в дробной части S N-ичного числа Y (R=[Y], S={Y}).
Справа в этом выражении стоит результат сложения всех весовых коэффициентов, умноженных на цифры соответствующих разрядов N-ричного числа Y, который представлен в виде 10-ичного числа Х.
Пользуясь этой теоремой, мы легко сможем переводить шестнадцатеричные числа в десятичные. Для этого нужно просто в приведённую выше формулу подставить N=16. В результате получим следующий алгоритм.
Алгоритм 3
Способ перевода из 16-ричной системы в 10-ичную
- Пусть задано 16-ричное число Y (16), имеющее в целой части k+1 цифр, а в дробной — n цифр. Номера разрядов в целой части принимают значения от 0 до k. Умножьте каждую его цифру, начиная с первой перед запятой, на 16 в степени, равной номеру разряда этой цифры. Полученные произведения сложите. Результатом будет целая часть Y в десятичном виде — P=[X].
- Умножьте теперь каждую цифру числа Y (16), начиная с первой цифры, стоящей после запятой, на 16 в степени, равной отрицательному номеру разряда этой цифры. Номера разрядов в дробной части идут от -1 до -n. Полученные произведения сложите. Результатом будет дробная часть Y в десятичном виде — Q={X}.
- Сложите целую и дробную части Y в десятичном виде. Вы получите результат — десятичное число X (10)=Y (16).
Примеры
1. Перевести 1237 (10) в систему с основанием 16.
Решение. Последовательно деля 1237 на 16, мы получим следующие остатки: 5, 13 и 4 (см. алгоритм 1). Чтобы записать 1237 (10) в 16-ричной форме, запишем указанные остатки в обратном порядке, заменив 13 на букву D. Получим: 1237 (10)=4D5 (16). Чтобы убедиться в правильности перевода, произведём проверку (см. алгоритм 3): 4D5 (16)=4•16²+13•16¹+5=1024+208+5=1237 (10).
2. Перевести 0,07080078125 (10) в 16-ричный вид.
Решение. Последовательно умножая 0,07080078125 на 16, отбрасывая целые части получаемых произведений, получим следующий ряд: 1, 2, 2 (см. алгоритм 2). Чтобы записать 0,07080078125 (10) в шестнвдцатиричной форме, запишем указанные цифры в прямом порядке. Получим: 0,07080078125 (10)=0,122 (16). Чтобы убедиться в правильности перевода, сделаем проверку (см. алгоритм 3): 0,122 (16)=1•(1/16¹)+2•(1/16²)+2•(1/16³)=0,0625+0,0078125+0,00048828125= 0,07080078125 (10).
Видео
Из видео вы узнаете, как правильно перевести из шестнадцатеричной системы в двоичную.