Таблица систем исчисления. Малый математический факультет. Алгоритм перевода чисел из одной системы счисления в другую
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней двойки:
Таблица 4. Степени числа 2
n (степень) |
|||||||||||
Пример.
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица 5. Степени числа 8
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 6. Степени числа 16
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в двоичную систему счисления.
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в восьмеричную систему счисления.
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в шестнадцатеричную систему счисления.
С помощю этого онлайн калькулятора можно перевести целые и дробные числа из одной системы счисления в другую. Дается подробное решение с пояснениями. Для перевода введите исходное число, задайте основание сисемы счисления исходного числа, задайте основание системы счисления, в которую нужно перевести число и нажмите на кнопку "Перевести". Теоретическую часть и численные примеры смотрите ниже.
Результат уже получен!
Перевод целых и дробных чисел из одной системы счисления в любую другую − теория, примеры и решения
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:
Тогда число 6372 можно представить в следующем виде:
6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .
Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.
Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:
Тогда число 1287.923 можно представить в виде:
1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .
В общем случае формулу можно представить в следующем виде:
Ц n ·s n +Ц n-1 ·s n-1 +...+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k
где Ц n -целое число в позиции n , Д -k - дробное число в позиции (-k), s - система счисления.
Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.
Таблица 1 | |||
---|---|---|---|
Система счисления | |||
10 | 2 | 8 | 16 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E | 15 | 1111 | 17 | F |
Перевод чисел из одной системы счисления в другую
Для перевода чисел с одной системы счисления в другую, проще всего сначала перевести число в десятичную систему счисления, а затем, из десятичной системы счисления перевести в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.
Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:
1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125
Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:
Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:
Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления нужно переводить отдельно целую часть числа и дробную часть числа.
Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.
Пример 4 . Переведем число 159 из десятичной СС в двоичную СС:
159 | 2 | ||||||
158 | 79 | 2 | |||||
1 | 78 | 39 | 2 | ||||
1 | 38 | 19 | 2 | ||||
1 | 18 | 9 | 2 | ||||
1 | 8 | 4 | 2 | ||||
1 | 4 | 2 | 2 | ||||
0 | 2 | 1 | |||||
0 |
Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:
159 10 =10011111 2 .
Пример 5 . Переведем число 615 из десятичной СС в восьмеричную СС.
615 | 8 | ||
608 | 76 | 8 | |
7 | 72 | 9 | 8 |
4 | 8 | 1 | |
1 |
При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:
615 10 =1147 8 .
Пример 6 . Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.
Для перевода правильных десятичных дробей (вещественное число с нулевой целой частью) в систему счисления с основанием s необходимо данное число последовательно умножить на s до тех пор, пока в дробной части не получится чистый нуль, или же не получим требуемое количество разрядов. Если при умножении получится число с целой частью, отличное от нуля, то эту целую часть не учитывать (они последовательно зачисливаются в результат).
Рассмотрим вышеизложенное на примерах.
Пример 7 . Переведем число 0.214 из десятичной системы счисления в двоичную СС.
0.214 | ||
x | 2 | |
0 | 0.428 | |
x | 2 | |
0 | 0.856 | |
x | 2 | |
1 | 0.712 | |
x | 2 | |
1 | 0.424 | |
x | 2 | |
0 | 0.848 | |
x | 2 | |
1 | 0.696 | |
x | 2 | |
1 | 0.392 |
Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .
Следовательно можно записать:
0.214 10 =0.0011011 2 .
Пример 8 . Переведем число 0.125 из десятичной системы счисления в двоичную СС.
0.125 | ||
x | 2 | |
0 | 0.25 | |
x | 2 | |
0 | 0.5 | |
x | 2 | |
1 | 0.0 |
Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:
0.125 10 =0.001 2 .
Пример 9 . Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.
0.214 | ||
x | 16 | |
3 | 0.424 | |
x | 16 | |
6 | 0.784 | |
x | 16 | |
12 | 0.544 | |
x | 16 | |
8 | 0.704 | |
x | 16 | |
11 | 0.264 | |
x | 16 | |
4 | 0.224 |
Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:
0.214 10 =0.36C8B4 16 .
Пример 10 . Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.
0.512 | ||
x | 8 | |
4 | 0.096 | |
x | 8 | |
0 | 0.768 | |
x | 8 | |
6 | 0.144 | |
x | 8 | |
1 | 0.152 | |
x | 8 | |
1 | 0.216 | |
x | 8 | |
1 | 0.728 |
Получили:
0.512 10 =0.406111 8 .
Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:
159.125 10 =10011111.001 2 .
Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.
Для перевода чисел из одной системы счисления в другую необходимо владеть основными сведениями о системах счисления и форме представления чисел в них.
Количество 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 служит последний остаток, а следующие за ней цифры образуют остатки от предшествующих делений, выписываемые в последовательности, обратной их получению.
Когда занимаешься настройками сетей различного масштаба и каждый день сталкиваешься с вычислениями – то такого рода шпаргалки заводить не обязательно, все и так делается на безусловном рефлексе. Но когда в сетях ковыряешься очень редко, то не всегда вспомнишь какая там маска в десятичной форме для префикса 21 или же какой адрес сети при этом же префиксе. В связи с этим я и решил написать несколько маленьких статей-шпаргалок по переводом чисел в различные системы счислений, сетевым адресам, маскам и т.п. В это части пойдет речь о переводи чисел в различные системы счислений.
1. Системы счислений
Когда вы занимаетесь чем-то связанным с компьютерными сетями и ИТ, вы по любому столкнетесь с этим понятием. И как толковый ИТ-шник вам нужно разбираться в этом хотя бы чу-чуть даже если на практике вы это будете применять очень редко.
Рассмотрим перевод каждой цифры из IP-адреса 98.251.16.138
в следующие системы счислений:
- Двоичная
- Восьмеричная
- Десятичная
- Шестнадцатеричная
1.1 Десятичная
Так как цифры записаны в десятичной, перевод с десятичной в десятичную пропустим 🙂
1.1.1 Десятичная → Двоичная
Как мы знаем двоичная система счисления используется практически во всех современных компьютерах и многих других вычислительных устройствах. Система очень проста – у нас есть только 0 и 1.
Для преобразования числа с десятиной в двоичную форму нужно использовать деление по модулю 2 (т.е. целочисленное деление на 2) в результате чего мы всегда будем иметь в остатке либо 1, либо 0. При этом результат записываем справа налево. Пример все поставит на свои места:
Рисунок 1.1 – Перевод чисел из десятичной в двоичную систему
Рисунок 1.2 – Перевод чисел из десятичной в двоичную систему
Опишу деление числа 98. Мы делим 98 на 2, в результате имеем 49 и остаток 0. Далее продолжаем деление и делим 49 на 2, в результате имеем 24 с остатком 1. И таким же образом добираемся до 1-ки или 0-ка в делимом. Затем результат записываем справа налево.
1.1.2 Десятичная → Восьмеричная
Восьмеричная система – это целочисленная система счисления с основанием 8. Т.е. все числа в ней представлены диапазоном 0 – 7 и для перевода с десятичной системы нужно использовать деление по модулю 8.
Рисунок 1.3 – Перевод чисел из десятичной в восьмеричную систему
Деление аналогично 2-чной системе.
1.1.3 Десятичная → Шестнадцатеричная
Шестнадцатеричная система почти полностью вытеснила восьмеричную систему. У нее основание 16, но используются десятичные цифры от 0 до 9 + латинские буквы от A(число 10) до F(число 15). С ней вы сталкиваетесь каждый раз, когда проверяете настройки сетевого адаптера — это МАС-адрес. Так же, когда используется IPv6.
Рисунок 1.4 – Перевод чисел из десятичной в шестнадцатеричную систему
1.2 Двоичная
В предыдущем примере мы перевели все десятичные числа в другие системы счислений, одна из которых двоичная. Теперь переведем каждое число с двоичной формы.
1.2.1 Двоичная → Десятичная
Для перевода чисел с двоичной формы в десятичную нужно знать два нюанса. Первый – у каждого нолика и единички есть множитель 2 в n-й степени, при котором n увеличивается справа налево ровно на единичку. Второй – после перемножения все числа нужно сложить и мы получим число в десятичной форме. В итого у нас будет формула такого вида:
D = (a n × p n-1) + (a n-1 × p n-2) + (a n-2 × p n-3) +…, (1.2.1)
Где,
D – это число в десятичной форме, которое мы ищем;
n
– количество символов в двоичном числе;
a – число в двоичной форме на n-й позиции (т.е. первый символ, второй, и т.п.);
p – коэффициент, равный 2,8 или 16 в степени n
(в зависимости от системы счисления)
К примеру возьмем число 110102. Смотрим на формулу и записываем:
- Число состоит из 5 символов (n =5)
- p = 2 (так как переводим из двоичной в десятичную)
a 5 = 1, a 4 = 1, a 3 = 0, a 2 = 1, a 1 = 0
В итоге имеем:
D = (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) = 16 + 8 + 0 + 2 + 0 = 26 10
Кто привык записывать справа на лево, форму будет выглядеть так:
D = (0 × 2 5-5) + (1 × 2 5-4) + (0 × 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) = 0 + 2 + 0 + 8 + 16 = 26 10
Но, как мы знаем, от перестановки слагаемых сумма не меняется. Давайте теперь переведем наши числа в десятичную форму.
Рисунок 1.5 – Перевод чисел из двоичной в десятичную систему
1.2.2 Двоичная → Восьмеричная
При переводе нам нужно двоичное число разбить на группы по три символа справа налево. Если последняя группа не состоит из трех символов, то мы просто возмещаем недостающие биты ноликами. К примеру:
10101001 = 0 10 101 001
1011100 = 00 1 011 100
Каждая группа битов – это одно из восьмеричных чисел. Чтобы узнать какое, нужно использовать написанную выше формулу 1.2.1 для каждой группы битов. В результате мы получим.
Рисунок 1.6 – Перевод чисел из двоичной в восьмеричную систему
1.2.3 Двоичная → Шестнадцатеричная
Здесь нам нужно двоичное число разбивать на группы по четыре символа справа налево с последующим дополнением недостающих битов группы ноликами, как писалось выше. Если последняя группа состоит из ноликов, то их нужно игнорировать.
110101011 = 000 1 1010 1011
1011100 = 0 101 1100
001010000 = 00 0101 0000 = 0101 0000
Каждая группа битов – это одно из шестнадцатеричных чисел. Используем формулу 1.2.1 для каждой группы битов.
Рисунок 1.7 – Перевод чисел из двоичной в шестнадцатеричную систему
1.3 Восьмеричная
В этой системе у нас могут возникнуть сложности только при переводе в 16-ричную систему, так как остальной перевод проходит гладко.
1.3.1 Восьмеричная → Двоичная
Каждое число в восьмеричной системе – это группа из трех битов в двоичной системе, как писалось выше. Для перевода нам нужно воспользоваться табличкой-шпаргалкой:
Рисунок 1.8 – Шпора по переводу чисел из восьмеричной системы
Используя эту табличку переведем наши числа в двоичную систему.
Рисунок 1.9 – Перевод чисел из восьмеричной в двоичную систему
Немного опишу вывод. Первое число у нас 142, значит будет три группы по три бита в каждой. Юзаем шпору и видим, что цифра 1 это 001, цифра 4 это 100 и цифра 2 это 010. В результате имеем число 001100010.
1.3.2 Восьмеричная → Десятичная
Здесь мы используем формулу 1.2.1 только с коэффициентом 8 (т.е. p=8). В результате имеем
Рисунок 1.10 – Перевод чисел из восьмеричной в десятеричную систему
- Число состоит из 3 символов (n =3)
- p = 8 (так как переводим из восьмеричной в десятичную)
a 3 = 1, a 2 = 4, a 1 = 2
В результате имеем:
D = (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) = 64 + 32 + 2 = 98 10
1.3.3 Восьмеричная → Шестнадцатеричная
Как писалось раньше, для перевода нам нужно сначала перевести числа в двоичную систему, потом с двоичной в шестнадцатеричную, поделив на группы по 4-ре бита. Можно использовать следующею шпору.
Рисунок 1.11 – Шпора по переводу чисел из шестнадцатеричной системы
Эта табличка поможет перевести из двоичной в шестнадцатеричную систему. Теперь переведем наши числа.
Рисунок 1.12 – Перевод чисел из восьмеричной в шестнадцатеричную систему
1.4 Шестнадцатеричная
В этой системе та же проблема, при переводе в восьмеричную. Но об этом позже.
1.4.1 Шестнадцатеричная → Двоичная
Каждое число в шестнадцатеричной системе – это группа из четырех битов в двоичной системе, как писалось выше. Для перевода нам можно воспользоваться табличкой-шпаргалкой, которая находиться выше. В результате:
Рисунок 1.13 – Перевод чисел из шестнадцатеричной в двоичную систему
Возьмем первое число – 62. Используя табличку (рис. 1.11) мы видим, что 6 это 0110, 2 это 0010, в результате имеем число 01100010.
1.4.2 Шестнадцатеричная → Десятичная
Здесь мы используем формулу 1.2.1 только с коэффициентом 16 (т.е. p=16). В результате имеем
Рисунок 1.14 – Перевод чисел из шестнадцатеричной в десятеричную систему
Возьмем первое число. Исходя из формулы 1.2.1:
- Число состоит из 2 символов (n =2)
- p = 16 (так как переводим из шестнадцатеричной в десятичную)
a 2 = 6, a 1 = 2
В результате имеем.
D = (6 × 16 2-1) + (2 × 16 2-2) = 96 + 2 = 98 10
1.4.3 Шестнадцатеричная → Восьмеричная
Для перевода в восьмеричную систему нужно сначала перевести в двоичную, затем разбить на группы по 3-и бита и воспользоваться табличкой (рис. 1.8). В результате:
Рисунок 1.15 – Перевод чисел из шестнадцатеричной в восьмеричную систему
В пойдет речь о IP-адресах, масках и сетях.
1. Порядковый счет в различных системах счисления.
В современной жизни мы используем позиционные системы счисления, то есть системы, в которых число, обозначаемое цифрой, зависит от положения цифры в записи числа. Поэтому в дальнейшем мы будем говорить только о них, опуская термин «позиционные».
Для того чтобы научиться переводить числа из одной системы в другую, поймем, как происходит последовательная запись чисел на примере десятичной системы.
Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.
Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение для 2-ной системы, для 3-ной и т.д.):
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 10 | 3 |
4 | 100 | 11 | 4 |
5 | 101 | 12 | 10 |
6 | 110 | 20 | 11 |
7 | 111 | 21 | 12 |
8 | 1000 | 22 | 13 |
9 | 1001 | 100 | 14 |
10 | 1010 | 101 | 20 |
11 | 1011 | 102 | 21 |
12 | 1100 | 110 | 22 |
13 | 1101 | 111 | 23 |
14 | 1110 | 112 | 24 |
15 | 1111 | 120 | 30 |
Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы ( и ):
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | |
11 | |
12 | 10 |
13 | 11 |
14 | 12 |
15 | 13 |
2.Перевод из десятичной системы счисления в любую другую.
Чтобы перевести целое положительное десятичное число в систему счисления с другим основанием, нужно это число разделить на основание. Полученное частное снова разделить на основание, и дальше до тех пор, пока частное не окажется меньше основания. В результате записать в одну строку последнее частное и все остатки, начиная с последнего.
Пример 1. Переведем десятичное число 46 в двоичную систему счисления.
Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.
Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.
3. Перевод из любой системы счисления в десятичную.
Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа.
Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.
Точно так же обстоит дело и в других системах счисления, только умножать будем не на 10, 100 и пр., а на степени основания системы счисления. Для примера возьмем число 1201 в троичной системе счисления. Пронумеруем разряды справа налево начиная с нуля и представим наше число как сумму произведений цифры на тройку в степени разряда числа:
Это и есть десятичная запись нашего числа, т.е.
Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.
Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.
4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).
Для преобразования двоичного числа в число с основанием «степень двойки» необходимо двоичную последовательность разбить на группы по количеству цифр равному степени справа налево и каждую группу заменить соответствующей цифрой новой системы счисления.
Например, Переведем двоичное 1100001111010110 число в восьмеричную систему. Для этого разобьем его на группы по 3 символа начиная справа (т.к. ), а затем воспользуемся таблицей соответствия и заменим каждую группу на новую цифру:
Таблицу соответствия мы научились строить в п.1.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
Т.е.
Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.
Этот перевод аналогичен предыдущему, выполненному в обратную сторону: каждую цифру мы заменяем группой цифр в двоичной системе из таблицы соответствия.
Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.
Для этого каждую цифру числа заменим группой из 4 цифр (т.к. ) из таблицы соответствия, дополнив при необходимости группу нулями вначале: