Инструкция
Видео по теме
В той системе счета, которой мы пользуемся каждый день, десять цифр - от нуля до девяти. Поэтому она называется десятичной. Однако в технических расчетах, особенно тех, которые имеют отношение к компьютерам, используются и другие системы , в частности, двоичная и шестнадцатеричная. Поэтому нужно уметь переводить числа из одной системы счисления в другую.
Вам понадобится
Инструкция
Двоичная система - самая простая. В ней всего две цифры - ноль и единица. Каждая цифра двоичного числа , начиная с конца, соответствует степени двойки. Два в равняется одному, в первой - двум, во второй - четырем, в третьей - восьми, и так далее.
Предположим, что вам дано двоичное число 1010110. Единицы в нем стоят на втором, третьем, пятом и седьмом с конца местах. Поэтому в десятичной системе это число равно 2^1 + 2^2 + 2^4 + 2^6 = 2 + 4 + 16 + 64 = 86.
Обратная задача - десятичного числа
систему. Предположим, у вас есть число 57. Чтобы получить его запись, вы должны последовательно делить это число на 2 и записывать остаток от деления. Двоичное число будет строиться от конца к началу.
Первый шаг даст вам последнюю цифру: 57/2 = 28 (остаток 1).
Затем вы получаете вторую с конца: 28/2 = 14 (остаток 0).
Дальнейшие шаги: 14/2 = 7 (остаток 0);
7/2 = 3 (остаток 1);
3/2 = 1 (остаток 1);
1/2 = 0 (остаток 1).
Это последний шаг, потому что результат деления равен нулю. В итоге вы получили двоичное число 111001.
Проверьте правильность ответа: 111001 = 2^0 + 2^3 + 2^4 + 2^5 = 1 + 8 + 16 + 32 = 57.
Вторая , используемая в компьютерных вопросах - шестнадцатеричная. В ней не десять, а шестнадцать цифр. Чтобы не новых условных обозначений, первые десять цифр шестнадцатеричной системы обозначаются обычными цифрами, а остальные шесть - латинскими буквами: A, B, C, D, E, F. десятичной записи они соответствуют числа м от 10 до 15. Во избежание путаницы перед числом, записанным по шестнадцатеричной системе, ставят знак # или символы 0x.
Обратный перевод из десятичной системы
в шестнадцатеричную совершается тем же методом остатков, что и в двоичную. Например, возьмите число 10000. Последовательно деля его на 16 и записывая остатки, вы получите:
10000/16 = 625 (остаток 0).
625/16 = 39 (остаток 1).
39/16 = 2 (остаток 7).
2/16 = 0 (остаток 2).
Результатом вычислений станет шестнадцатеричное число #2710.
Проверьте правильность ответа: #2710 = 1*(16^1) + 7*(16^2) + 2*(16^3) = 16 + 1792 + 8192 = 10000.
Переводить числа
из шестнадцатеричной системы
в двоичную гораздо проще. Число 16 является двойки: 16 = 2^4. Поэтому каждую шестнадцатеричную цифру можно записать как четырехзначное двоичное число. Если у вас в двоичном числе получается меньше четырех знаков, добавляйте в начало нули.
Например, #1F7E = (0001)(1111)(0111)(1110) = 1111101111110.
Проверьте правильность ответа: оба числа
в десятичной записи равны 8062.
Для перевода вам нужно разбить двоичное число на группы по четыре цифры, начиная с конца, и каждую такую группу заменить шестнадцатеричной цифрой.
Например, 11000110101001 превращается в (0011)(0001)(1010)(1001), что в шестнадцатеричной записи дает #31A9. Правильность ответа подтверждается переводом в десятичную запись: оба числа
равны 12713.
Благодаря ограниченности в использовании символов двоичная система является наиболее удобной для использования в компьютерах и других цифровых устройствах. Символов всего два: 1 и 0, поэтому эту систему применяют в работе регистров.
Инструкция
Двоичная является позиционной, т.е. позиции каждой цифры в числе соответствует определенный разряд, который равен двум в соответствующей степени. Степень начинается с нуля и увеличивается по мере движения справа налево. Например, число 101 равно 1*2^0 + 0*2^1 + 1*2^2 = 5.
Рассмотрим десятичного числа в двоичную систему методом последовательного деления на 2.Чтобы перевести десятичное число 25 в код, необходимо делить его на 2 до тех пор, пока не останется 0. Остатки, полученные на каждом шаге деления, записываются в строку справа налево, после записи цифры последнего остатка это и будет итоговое
Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 2 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ. или, . Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку "Получить запись".
Исходное число записано в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .
Хочу получить запись числа в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .
Получить запись
Выполнено переводов: 1363703
Системы счисления делятся на два типа: позиционные и не позиционные . Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.
Пример 1 . Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:
Число 5921 можно записать в следующем виде: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.
Пример 2 . Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:
Число 1234.567 можно записать в следующем виде: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 +6·10 -2 +7·10 -3 .
Наиболее простым способом перевода числа с одной системы счисления в другую, является перевод числа сначала в десятичную систему счисления, а затем, полученного результата в требуемую систему счисления.
Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:
1.
Перевести число 1001101.1101 2 в десятичную систему счисления.
Решение:
10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 -4 = 16+2+1+0.5+0.25+0.0625 = 19.8125 10
Ответ:
10011.1101 2 = 19.8125 10
2.
Перевести число E8F.2D 16 в десятичную систему счисления.
Решение:
E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.17578125 10
Ответ:
E8F.2D 16 = 3727.17578125 10
Для перевода чисел из десятичной системы счисления в другую систему счисления целую и дробную части числа нужно переводить отдельно.
Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.
3.
Перевести число 273 10 в восьмиричную систему счисления.
Решение:
273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
Проверка
: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273 , результат совпал. Значит перевод выполнен правильно.
Ответ:
273 10 = 421 8
Рассмотрим перевод правильных десятичных дробей в различные системы счисления.
Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью . Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.
4.
Перевести число 0.125 10 в двоичную систему счисления.
Решение:
0.125·2 = 0.25 (0 - целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5 (0 - вторая цифра результата), 0.5·2 = 1.0 (1 - третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
Ответ:
0.125 10 = 0.001 2
Замечание 1
Если вы хотите перевести число из одной системы счисления в другую, то удобнее для начала перевести его в десятичную систему счисления, и уже только потом из десятичной перевести в любую другую систему счисления.
В вычислительной технике, использующей машинную арифметику, большую роль играет преобразование чисел из одной системы счисления в другую. Ниже приведем основные правила таких преобразований (переводов).
При переводе двоичного числа в десятичное требуется представить двоичное число в виде многочлена , каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $2$, а затем нужно вычислить многочлен по правилам десятичной арифметики:
$X_2=A_n \cdot 2^{n-1} + A_{n-1} \cdot 2^{n-2} + A_{n-2} \cdot 2^{n-3} + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$
Рисунок 1. Таблица 1
Пример 1
Число $11110101_2$ перевести в десятичную систему счисления.
Решение. Используя приведенную таблицу $1$ степеней основания $2$, представим число в виде многочлена:
$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_{10}$
Для перевода числа из восьмеричной системы счисления в десятичную требуется представить его в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $8$, а затем нужно вычислить многочлен по правилам десятичной арифметики:
$X_8 = A_n \cdot 8^{n-1} + A_{n-1} \cdot 8^{n-2} + A_{n-2} \cdot 8^{n-3} + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$
Рисунок 2. Таблица 2
Пример 2
Число $75013_8$ перевести в десятичную систему счисления.
Решение. Используя приведенную таблицу $2$ степеней основания $8$, представим число в виде многочлена:
$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_{10}$
Для перевода числа из шестнадцатеричной системы счисления в десятичную необходимо его представить в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $16$, а затем нужно вычислить многочлен по правилам десятичной арифметики:
$X_{16} = A_n \cdot 16^{n-1} + A_{n-1} \cdot 16^{n-2} + A_{n-2} \cdot 16^{n-3} + ... + A_2 \cdot 16^1 + A_1 \cdot 16^0$
Рисунок 3. Таблица 3
Пример 3
Число $FFA2_{16}$ перевести в десятичную систему счисления.
Решение. Используя приведенную таблицу $3$ степеней основания $8$, представим число в виде многочлена:
$FFA2_{16} = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_{10}$
Пример 4
Число $22_{10}$ перевести в двоичную систему счисления.
Решение:
Рисунок 4.
$22_{10} = 10110_2$
Пример 5
Число $571_{10}$ перевести в восьмеричную систему счисления.
Решение:
Рисунок 5.
$571_{10} = 1073_8$
Пример 6
Число $7467_{10}$ перевести в шестнадцатеричную систему счисления.
Решение:
Рисунок 6.
$7467_{10} = 1D2B_{16}$
Для того чтобы перевести правильную дробь из десятичной системы счисления в недесятичную, необходимо дробную часть преобразуемого числа последовательно умножить на основание той системы, в которую ее требуется перевести. Дробь в новой системе будет представлена в виде целых частей произведений, начиная с первого.
Например: $0,3125_{(10)}$ в восьмеричной системе счисления будет выглядеть как $0,24_{(8)}$.
В данном случае можно столкнуться с проблемой, когда конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В данном случае количество знаков в дроби, представленной в новой системе, будет зависеть от требуемой точности. Также нужно отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.
Рисунок 7. Таблица 4
Пример 7
Число $1001011_2$ перевести в восьмеричную систему счисления.
Решение . Используя таблицу 4, переведем число из двоичной системы счисления в восьмеричную:
$001 001 011_2 = 113_8$
Правило. Чтобы перевести число из одной системы счисления в другую, необходимо исходное число разделить на основание новой системы счисления. Полученное частное вновь поделить на основание новой системы счисления, и выполнять деление до тех пор. пока частное не будет меньше основания новой системы счисления. Полученные остатки от деления, начиная с последнего, записываются в обратном порядке. Это и будет запись числа в новой системе счисления.
Пример. Число 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. Перевести из десятичной СС в двоичную, восьмеричную, шестнадцатеричную СС следующие правильные дроби: .
При переводе чисел из десятичной системы счисления в любую другую, всегда отдельно (по разным правилам) переводится целая и дробная части.
Для того, чтобы перевести число из десятичной системы счисления, в любую другую, нужно выполнять целочисленное деление исходного числа на основание той системы счисления, в которую нужно перевести число. При этом важен остаток от деления и частное. Частное нужно делить на основание до тех пор, пока не останется 0. После этого все остатки нужно выписать в обратном порядке - это и будет число в новой системе счисления.
Например, перевод - числа 25 из десятичной системы счисления в двоичную будет выглядеть следующим образом:
Выписав остатки в обратном порядке, получим 25 10 =11001 2 .
Если Вы задумаетесь, то можете легко заметить, что при переводе абсолютно любого числа в двоичную систему счисления самый последний остаток (то есть, самая первая цифра в результате) всегда будет равен самому последнему частному, которое оказалось меньше основания той системы счисления, в которую мы переводим число. Поэтому, деление часто останавливают раньше, чем частное станет равным нулю - в тот момент, когда частное станет просто меньше основания. Например:
Перевод из десятичной системы счисления в любую другую систему счисления производится по абсолютно точно таким же правилам. Вот пример перевода 393 10 в шестнадцатеричную систему счисления:
Выписав остатки в обратном порядке, получим 393 10 =189 16 .
Нужно понимать, что остатки получаются в десятичной системе счисления. При делении на 16 могут появиться остатки не только от 0 до 9, но также и остатки от 10 до 15. Каждый остаток - это всегда ровно одна цифра в той системе счисления, в которую осуществляется перевод.
Например, если при переводе в шестнадцатеричную систему счисления Вы получили такие остатки (выписаны в порядке, как они должны быть записаны в числе): 10, 3, 15, 7, то в шестнадцатеричной системе счисления этой последовательности остатков будет соответствовать число A3F7 16 (некоторые по ошибке записывают число как 103157 16 - понято же, что это совсем другое число, и что если так делать, то получится, что ни в каком шестнадцатеричном числе не появится цифры от A до F).
При переводе дробной части, в отличие от перевода целой части - нужно не делить, а умножать на основание той системы счисления, в которую мы переводим. При этом каждый раз отбрасываются целые части, а дробные части - снова умножаются. Собрав целые части в том порядке, как они были получены - получается дробная часть числа в нужной системе счисления.
Одна операция умножения даёт ровно один дополнительный знак в системе счисления, в которую осуществляется перевод.
При этом существует два условия завершения процесса:
1) в результате очередного умножения Вы получили ноль в дробной части. Понятно, что дальше этот ноль сколько ни умножай - он всё равно останется нулём. Это означает, что число перевелось из десятичной системы счисления в нужную точно.
2) не все числа возможно перевести точно. В таком случае обычно переводят с некоторой точностью. При этом сначала определяют, сколько знаков после запятой будет нужно - именно такое количество раз и нужно будет выполнить операцию умножения.
Вот пример перевода числа 0.39 10 в двоичную систему счисления. Точность - 8 разрядов (в данном случае точность перевода выбрана произвольно):
Если выписать целые части в прямом порядке, то получим 0.39 10 =0.01100011 2 .
Самый первый ноль (на рисунке перечёркнут синим) выписывать не нужно - так как он относится не к дробной части, а к целой. Некоторые по ошибке записывают этот ноль после запятой, когда выписывают результат.
Вот так будет выглядеть перевод числа 0.39 10 в шестнадцатеричную систему счисления. Точность - 8 разрядов в данном случае точность снова выбрана произвольно:
Если выписать целые части в прямом порядке, то получим 0.39 10 =0.63D700A3 16 .
При этом Вы, наверное, заметили, что целые части при умножении получаются в десятичной системе счисления. Эти целые части, полученные при переводе дробной части числа следует интерпретировать точно так же, как и остатки при переводе целой части числа. То есть, если при переводе в шестнадцатеричную систему счисления целые части получились в таком порядке: 3, 13, 7, 10, то соответствующее число будет равно 0.3D7A 16 (а не 0.313710 16 , как некоторые иногда ошибочно записывают).
Чтобы выполнить перевод числа с целой и дробной частью, нужно отдельно перевести целую часть, а отдельно - дробную, и поэтом эти две части записать вместе.
Например, 25.39 10 =11001.01100011 2 (переводы целой и дробной части - смотрите выше).
Поскольку при работе с различными системами счисления, особенно при разработке программ, очень часто возникает необходимость перевода небольших целых чисел, то, вообще говоря, имеет смысл запомнить для первых 16 чисел (от 0 до 15).
Но если разобраться, как легко в уме переводить небольшие целые числа от 0 до 15 из десятичной системы счисления в двоичную, то значительную часть таблицы Вы сможете просто вычислять в уме каждый раз, когда это будет нужно. Проделывайте эту операцию много раз, и в какой-то момент Вы сами не сможете понять - Вы уже запомнили таблицу или всё ещё вычисляете.
Итак, чтобы перевести небольшое положительное целое число от 0 до 15 из десятичной системы счисления в двоичную, первое, что нужно понять - это что каждой позиции в двоичном числе соответствует степень двойки. При этом степени двойки для позиций от 0 до 3 запомнить очень просто - это числа 1, 2, 4 и 8:
А число 10 - это 2 плюс 8:
Ну а число 0 - грех не запомнить, так как, чтобы его получить, ничего не нужно складывать.