Как перевести из 16. Перевод чисел в различные системы счислений
Результат уже получен!
Системы счисления
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 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). Далее объединяя эти результаты получим.
Назначение сервиса . Сервис предназначен для перевода чисел из одной системы счисления в другую в онлайн режиме. Для этого выберите основание системы, из которой необходимо перевести число. Вводить можно как целые, так и числа с запятой.Можно вводить как целые числа, например 34 , так и дробные, например, 637.333 . Для дробных чисел указывается точность перевода после запятой.
Вместе с этим калькулятором также используют следующие:
Способы представления чисел
Двоичные (binary) числа – каждая цифра означает значение одного бита (0 или 1), старший бит всегда пишется слева, после числа ставится буква «b». Для удобства восприятия тетрады могут быть разделены пробелами. Например, 1010 0101b.Шестнадцатеричные (hexadecimal) числа – каждая тетрада представляется одним символом 0...9, А, В, ..., F. Обозначаться такое представление может по-разному, здесь используется только символ «h» после последней шестнадцатеричной цифры. Например, A5h. В текстах программ это же число может обозначаться и как 0хА5, и как 0A5h, в зависимости от синтаксиса языка программирования. Незначащий ноль (0) добавляется слева от старшей шестнадцатеричной цифры, изображаемой буквой, чтобы различать числа и символические имена.
Десятичные (decimal) числа – каждый байт (слово, двойное слово) представляется обычным числом, а признак десятичного представления (букву «d») обычно опускают. Байт из предыдущих примеров имеет десятичное значение 165. В отличие от двоичной и шестнадцатеричной формы записи, по десятичной трудно в уме определить значение каждого бита, что иногда приходится делать.
Восьмеричные (octal) числа – каждая тройка бит (разделение начинается с младшего) записывается в виде цифры 0–7, в конце ставится признак «о». То же самое число будет записано как 245о. Восьмеричная система неудобна тем, что байт невозможно разделить поровну.
Алгоритм перевода чисел из одной системы счисления в другую
Перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления до тех пор, пока в остатке не останется число меньшее основания новой системы счисления. Новое число записывается в виде остатков деления, начиная с последнего.Перевод правильной десятичной дроби в другую ПСС осуществляется умножением только дробной части числа на основание новой системы счисления до тех пор пока в дробной части не останутся все нули или пока не будет достигнута заданная точность перевода. В результате выполнения каждой операции умножения формируется одна цифра нового числа начиная со старшего.
Перевод неправильной дроби осуществляется по 1 и 2 правилу. Целую и дробную часть записывают вместе, отделяя запятой.
Пример №1
.
Перевод из 2 в 8 в 16 системы счисления.
Эти системы кратны двум, следовательно, перевод осуществляется с использованием таблицы соответствия (см. ниже).
Для перевода числа из двоичной системы счисления в восьмиричную (шестнадцатиричную) необходимо от запятой вправо и влево разбить двоичное число на группы по три (четыре – для шестнадцатиричной) разряда, дополняя при необходимости нулями крайние группы. Каждую группу заменяют соответствующей восьмиричной или шестнадцатиричной цифрой.
Пример №2
. 1010111010,1011 = 1.010.111.010,101.1 = 1272,51 8
здесь 001=1; 010=2; 111=7; 010=2; 101=5; 001=1
При переводе в шестнадцатеричную систему необходимо делить число на части, по четыре цифры, соблюдая те же правила.
Пример №3
. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
здесь 0010=2; 1011=B; 1010=12; 1011=13
Перевод чисел из 2 , 8 и 16 в десятичную систему исчисления производят путем разбивания числа на отдельные и умножения его на основание системы (из которой переводится число) возведенное в степень соответствующую его порядковому номеру в переводимом числе. При этом числа нумеруются влево от запятой (первое число имеет номер 0) с возрастанием, а в правую сторону с убыванием (т.е. с отрицательным знаком). Полученные результаты складываются.
Пример №4
.
Пример перевода из двоичной в десятичную систему счисления.
1010010,101 2 = 1·2 6 +0·2 5 +1·2 4 +0·2 3 +0·2 2 +1·2 1 +0·2 0 + 1·2 -1 +0·2 -2 +1·2 -3 =
= 64+0+16+0+0+2+0+0.5+0+0.125 = 82.625 10
Пример перевода из восьмеричной в десятичную систему счисления.
108.5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0.625 = 72.625 10
Пример перевода из шестнадцатеричной в десятичную систему счисления.
108.5 16 = 1·16 2 +0·16 1 +8·16 0 + 5·16 -1 = 256+0+8+0.3125 = 264.3125 10
Еще раз повторим алгоритм перевода чисел из одной системы счисления в другую ПСС
- Из десятичной системы счисления:
- разделить число на основание переводимой системы счисления;
- найти остаток от деления целой части числа;
- записать все остатки от деления в обратном порядке;
- Из двоичной системы счисления
- Для перевода в десятичную систему счисления необходимо найти сумму произведений основания 2 на соответствующую степень разряда;
- Для перевода числа в восьмеричную необходимо разбить число на триады.
Например, 1000110 = 1 000 110 = 106 8 - Для перевода числа из двоичной системы счисления в шестнадцатеричную необходимо разбить число на группы по 4 разряда.
Например, 1000110 = 100 0110 = 46 16
Таблица соответствия систем счисления:
Двоичная СС | Шестнадцатеричная СС |
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
Таблица для перевода в восьмеричную систему счисления
Для перевода чисел из десятичной с/с в любую другую, необходимо делить десятичное число на основание системы, в которую переводят, сохраняя при этом остатки от каждого деления. Результат формируется справа налево. Деление продолжается до тех пор, пока результат деления не станет меньше делителя.
Калькулятор переводит числа из одной системы счисления в любую другую. Он может переводить числа из двоичной в десятичную или из десятичной в шестнадцатеричную, показывая подробный ход решения. Вы с легкостью можете перевести число из троичной в пятеричную или даже из семеричной в семнадцатеричную. Калькулятор умеет переводить числа из любой системы счисления в любую другую.
Запишите число в двоичной системе счисления, а степени двойки справа налево. Например, мы хотим преобразовать двоичное число 10011011 2 в десятичное. Сначала запишем его. Затем запишем степени двойки справа налево. Начнем с 2 0 , что равно "1". Увеличиваем степень на единицу для каждого следующего числа. Останавливаемся, когда число элементов в списке равно числу цифр в двоичном числе. Наше число для примера, 10011011, включает в себя восемь цифр, поэтому список из восьми элементов будет выглядеть так: 128, 64, 32, 16, 8, 4, 2, 1
Запишите цифры двоичного числа под соответствующими степенями двойки. Теперь просто запишите 10011011 под числами 128, 64, 32, 16, 8, 4, 2, и 1, с тем чтобы каждая двоичная цифра соответствовала своей степени двойки. Самая правая "1" двоичного числа должна соответствовать самой правой "1" из степеней двоек, и так далее. Если вам удобнее, вы можете записать двоичное число над степенями двойки. Самое важное – чтобы они соответствовали друг другу.
Соедините цифры в двоичном числе с соответствующими степенями двойки. Нарисуйте линии (справа налево), которые соединяют каждую последующую цифру двоичного числа со степенью двойки, находящейся над ней. Начните построение линий с соединения первой цифры двоичного числа с первой степенью двойки над ней. Затем нарисуйте линию от второй цифры двоичного числа ко второй степени двойки. Продолжайте соединять каждую цифру с соответствующей степенью двойки. Это поможет вам визуально увидеть связь между двумя различными наборами чисел.
Запишите конечное значение каждой степени двойки. Пройдитесь по каждой цифре двоичного числа. Если эта цифра 1, запишите соответствующую степень двойки под цифрой. Если эта цифра 0, запишите под цифрой 0.
- Так как "1" соответствует "1", она остается "1". Так как "2" соответствует "1", она остается "2". Так как "4" соответствует "0", она становится "0". Так как "8" соответствует "1", она становится "8", и так как "16" соответствует "1" она становится "16". "32" соответствует "0" и становится "0", "64" соответствует "0" и поэтому становится "0", в то время как "128" соответствует "1" и становится 128.
Сложите получившиеся значения. Теперь сложите получившиеся под линией цифры. Вот что вы должны сделать: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 155. Это десятичный эквивалент двоичного числа 10011011.
Запишите ответ вместе с нижним индексом, равным системе счисления. Теперь все, что вам осталось сделать – это записать 155 10 , чтобы показать, что вы работаете с десятичным ответом, который оперирует степенями десятки. Чем больше вы будете преобразовывать двоичные числа в десятичные, тем проще вам будет запомнить степени двойки, и тем быстрее вы сможете выполнять данную задачу.
Используйте данный метод, чтобы преобразовать двоичное число с десятичной точкой в десятичную форму. Вы можете использовать данный метод даже если вы хотите преобразовать двоичное число, такое как 1.1 2 в десятичное. Все, что вам необходимо знать – это то, что число в левой части десятичного числа – это обычное число, а число в правой части десятичного числа – это число "делений надвое", или 1 x (1/2).
- "1" слева от десятичного числа соответствует 2 0 , или 1. 1 справа от десятичного числа соответствует 2 -1 , или.5. Сложите 1 и.5 и вы получите 1.5, которое является эквивалентом 1.1 2 в десятичном виде.
Правило. Чтобы перевести число из одной системы счисления в другую, необходимо исходное число разделить на основание новой системы счисления. Полученное частное вновь поделить на основание новой системы счисления, и выполнять деление до тех пор. пока частное не будет меньше основания новой системы счисления. Полученные остатки от деления, начиная с последнего, записываются в обратном порядке. Это и будет запись числа в новой системе счисления.
Пример. Число 135 перевести из 10-тичной СС в 2-ичную, 8-ричную и 16-ричную системы счисления.
1) | 2) | 3) | ||||||||||||||
Задание 2.
Перевести в двоичную, восьмеричную и шестнадцатеричную СС следующие числа 1275,973, 172
Обратный перевод чисел из любой СС в 10-тичную.
1) Чтобы перевести число из любой СС в исходную СС (обратный перевод), нужно каждую цифру этого числа умножить на основание исходной СС. начиная с нулевой цифры справа налево, и произведения сложить. Если переводится десятичная дробь, следует применить правило для записи целой и дробной части числа.
2) Обратный перевод чисел осуществляется по формуле:
где A – заданное число,
g – основание СС заданного числа (=2 для 2-ичной СС, для других СС - подобно),
m – число цифр в целой части числа.
n – число цифр в дробной части числа,
a – значение цифр заданного числа(запись дробной части числа выделена синим цветом).
110110 2 = 1*2 5 +1*2 4 +0*2 3 +1*2 2 +1*2 1 +0*2 0 =54 10
66 8 =6*8 1 +6*8 0 =48+6=54 10 9A 16 =9*16 1 +10*16 0 =144+10=154 10
13,4 8 =1*8 1 +3*8 0 +4*8 -1 =8+3+0.5=11.5 10 (это число – десятичная дробь)
Задание3.
Перевести в десятичную СС следующие числа:
101,11 2 =5,75 10 1011001 2 1011,101 2
125,7 8 =86 10 1253 8 175,132 8
A19BA 16 =2585726… 10 16A3 16 2BAFD 16
Перевод чисел с основанием, являющимся степенью числа 2 и обратный перевод. К таким СС относятся двоичная, восьмеричная, шестнадцатеричная системы счисления.
Правило. Перевод из двоичной СС в восьмеричную СС. Двоичное число делится на группы по 3 цифры с конца(справа налево) и каждая группа преобразуется числом в новом СС
10.000.101 2 =205 8
111.000.101.100 2 =7054 8
1.011.001.101 2 =1315 8
Правило. Для обратного преобразования каждая восьмеричная цифра записывается в виде триады.
Правило. Из двоичной СС в шестнадцатеричную СС: аналогично, но отделяем по 4 цифры
0110.0110.1011 2 =66B 16
1011.1111.0111 2 =BF7 16
10.1010.0111.0001 2 =2A71 16
Правило. Для обратного преобразования каждая шестнадцатеричная цифра записывается в виде тетрады.
Перевод правильных и неправильных дробей в разных СС. Если нужно перевести обыкновенную дробь, то сначала ее нужно перевести в десятичную дробь, а затем применить правила перевода десятичных дробей.
Правило. Перевод десятичных дробей, меньших единицы (правильные дроби).
1) необходимо отделить вертикальной чертой дробную часть;
2) умножить дробную часть на основании новой системы счисления;
3) результат записать строго под исходным числом, начиная с младшего разряда; если получится перенос в целую часть, то записать ее слева от черты;
4) умножение дробной части проводится до тех пор пока не будет получено число с заданной точностью, либо справа от черты не будет 0.
0,728 10 =0,564 8
Задание 4. Перевести из десятичной СС в двоичную, восьмеричную, шестнадцатеричную СС следующие правильные дроби: .