Методы перевода десятичного числа в двоичное
В одном из наших материалов мы рассмотрели определение двоичного числа. Оно имеет самый короткий алфавит. Только две цифры: 0 и 1. Примеры алфавитов позиционных систем счисления приведены в таблице.
Позиционные системы счисления
Название системы
Основание
Алфавит
Для перевода небольшого числа из десятичного в двоичное, и обратно, лучше пользоваться следующей таблицей.
Таблица перевода десятичных чисел от 0 до 20 в двоичную систему счисления.
десятичное
число
двоичное число
десятичное
число
двоичное число
Однако таблица получится огромной, если записать туда все числа. Искать среди них нужное число будет уже сложнее. Гораздо проще запомнить несколько алгоритмов перевода чисел из одной позиционной системы счисления в другую.
Как сделать перевод из одной системы счисления в другую? В информатике существует несколько простых способов перевода десятичных чисел в двоичные числа. Рассмотрим два из них.
Способ №1.
Допустим, требуется перевести число 637 десятичной системы в двоичную систему.
Делается это следующим образом: отыскивается максимальная степень двойки, чтобы два в этой степени было меньше или равно исходному числу.
В нашем случае это 9, т.к. 2 9 =512, а 2 10 =1024, что больше нашего начального числа. Таким образом, мы получили число разрядов результата. Оно равно 9+1=10. Значит, результат будет иметь вид 1ххххххххх, где вместо х может стоять 1 или 0.
Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 637-2 9 =125. Затем сравниваем с числом 2 8 =256. Так как 125 меньше 256, то девятый разряд будет 0, т.е. результат уже примет вид 10хххххххх.
2 7 =128 > 125, значит и восьмой разряд будет нулём.
2 6 =64, то седьмой разряд равен 1. 125-64=61 Таким образом, мы получили четыре старших разряда и число примет вид 10011ххххх.
2 5 =32 и видим, что 32 < 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.
2 4 =16 < 29 — пятый разряд 1 => 1001111ххх. Остаток 29-16=13.
2 3 =8 < 13 => 10011111хх. 13-8=5
2 2 =4 < 5 => 10011111хх, остаток 5-4=1.
2 1 =2 > 1 => 100111110х, остаток 2-1=1.
2 0 =1 => 1001111101.
Это и будет конечный результат.
Способ №2.
Правило перевода целых десятичных чисел в двоичную систему счисления, гласит:
- Разделим an−1an−2. a1a0=an−1⋅2 n−1 +an−2⋅2 n−2 +. +a0⋅2 0 на 2.
- Частное будет равно an−1⋅2n−2+. +a1, а остаток будет равен
- Полученное частное опять разделим на 2, остаток от деления будет равен a1.
- Если продолжить этот процесс деления, то на n-м шаге получим набор цифр: a0,a1,a2. an−1, которые входят в двоичное представление исходного числа и совпадают с остатками при его последовательном делении на 2.
- Таким образом, для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, которое будет равно нулю.
Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков. Записывать его начинаем с последнего найденного.
Переведём десятичное число 11 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:
Получили 1110=10112.
Пример:
Если десятичное число достаточно большое, то более удобен следующий способ записи рассмотренного выше алгоритма:
Перевод из десятичной системы счисления в двоичную
Перед тем как перейти к алгоритму перевода, вспомним алфавит двоичной и десятичной системы счисления:
Для перевода чисел из десятичной системы в двоичную, воспользуемся соответствующим алгоритмом. Важно заметить, что алгоритм перевода целых и дробных чисел будет отличаться.
Алгоритм перевода целых десятичных чисел в двоичную систему счисления
- Последовательно выполнять деление десятичного числа и получаемых целых частных на 2, до тех пор, пока частное не станет равным 0.
- Для получения ответа в двоичном коде, необходимо записать, полученные, в результате деления остатки, в обратном порядке.
Пример 1 : перевести десятичное число 123 в двоичную систему счисления
Для наглядности произведем деление «столбиком». Решение будет выглядеть следующим образом:
Исходя из вышеприведенного алгоритма, полученные остатки необходимо записать в обратном порядке.
Алгоритм перевода десятичной дроби в двоичную систему
- Последовательно выполнять умножение исходной дроби на 2, до тех пор, пока, дробная часть не станет равна 0 или пока не будет достигнута необходимая точность вычисления.
- Полученная дробь в двоичной системе будет равна прямой последовательности целых частей произведений.
Пример 2: перевести число 0,123 в двоичную систему.
Решение будет выглядеть следующим образом:
0.123 ∙ 2 = 0.246 (0)
0.246 ∙ 2 = 0.492 (0)
0.492 ∙ 2 = 0.984 (0)
0.984 ∙ 2 = 1.968 (1)
0.968 ∙ 2 = 1.936 (1)
0.936 ∙ 2 = 1.872 (1)
0.872 ∙ 2 = 1.744 (1)
0.744 ∙ 2 = 1.488 (1)
0.488 ∙ 2 = 0.976 (0)
0.976 ∙ 2 = 1.952 (1)
0.952 ∙ 2 = 1.904 (1)
В данном примере можно продолжить вычисления, но зачастую, такой точности будет достаточно.
Перевод дробного десятичного числа в двоичную систему
Для того чтобы перевести десятичное число, содержащее дробную часть, необходимо отдельно перевести целую часть и отдельно дробную.
Пример 3: перевести число 110,625 из десятичной системы в двоичную
Для решения примера потребуется отдельно перевести 110 и отдельно 0,625 из десятичной системы в двоичную, используя вышеизложенные алгоритмы. Таким образом переведя 110, получим:
Перевод десятичной дроби 0,625 выглядит так:
0.625 ∙ 2 = 1.25 (1)
0.25 ∙ 2 = 0.5 (0)
0.5 ∙ 2 = 1 (1)
Теперь осталось соединить результаты перевода. Таким образом: 110.62510=1101110.1012
Обратите внимание, что данный пример наглядно демонстрирует ситуацию, при которой дробная часть стала равной 0 и дальнейшее вычисление закончилось.
Десятичное в двоичное средство онлайн-конвертации
наДесятичное в двоичное средство онлайн-конвертации:
Этот онлайн-инструмент для преобразования десятичных чисел в двоичные поможет вам преобразовать десятичное число в двоичное число.
Десятичный (Десятичный):
Система десятичных чисел (также известная как арабский) состоит из 10 символов, включая (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) , которая является наиболее используемой цифровой системой в нашей повседневной жизни.
Binary (Двоичный):
Двоичный файл имеет только 2 символа (0, 1) . 4-разрядный двоичный символ может представлять собой 1-значное шестнадцатеричное число, а 3-значный двоичный символ может представлять собой 1-значное восьмеричное число.
Как конфертировать из десятичного в двоичное?
Шаг 1: Разделите десятичное число на 2, чтобы получить целое число и остаток.
Шаг 2: Преобразуйте оставшуюся часть первого шага в двоичный символ.
Шаг 3: Продолжите деление на целое частное первого шага и повторяйте шаг 1, пока он не станет 0.
Пример 1. Десятичное число «13» преобразуется в двоичное число (результат «1101»):
Как перевести числа в двоичную систему?
Чтобы перевести любое число из десятеричной системы в двоичную, его нужно делить на 2, пока делить уже будет нечего. Причем четное число делится на 2 ровно, а из нечетного сначала надо вычесть единицу, а затем делить на 2. Полученное четное число считается нулем, нечетное считается единицей.
Например, число 55
(55-1)/2=27 — нечетное 1
(27-1)/2=13 — нечетное 1
(13-1)/2=6 — четное 0
6/2=3 — нечетное 1
(3-1)/2=1 — нечетное 1
Полученные результаты от деления записываем в обратном порядке их нахождения, т.е. НЕ 111011, а 110111.
Это называется "вычислять остатки от деления на 2", или математическая операция "деление по модулю" — mod.
55 mod 2 = 1
27 mod 2 = 1
13 mod 2 = 1
6 mod 2 = 0
3 mod 2 = 1
1 mod 2 = 1
Итого: 55(дес) = 110111(дв)
Для краткости вместо двоичной записи используют шестнадцатеричную (особенно — в программировании).
0000 = 0
0001 = 1
. . . . .
1000 = 8
1001 = 9
1010 = A
1011 = B
1100 = C
1101 = D
1110 = E
1111 = F
Тогда 55(дес) = 110111(дв) = 37(шестн) — 6 лет назад
Альтернативный способ перевода числа из десятичной системы счисления в двоичную систему счисления:
Так как способ делением уже описали, напишу ещё один способ, которым можно перевести десятичное число в двоичное. В этом способе делить ничего не надо, а только отнимать.
У двоичных чисел есть ступени, каждая последующая ступень больше предыдущей вдвое.
Вот эти ступени:
Эту цепочку можно продолжать до бесконечности, просто домножая числа на 2.
Смотрите на своё число и находите между какими ступенями оно находится.
Возьмём для примера число 356. Оно меньше 10-й ступени, но больше 9-й.
Значит наше двоичное число будет 9-тизначным.
Составляем таблицу из 9-ти граф по горизонтали и из двух по вертикали:
Теперь будем эту таблицу заполнять.
Так как максимальная ступень, помещающаяся в нашем числе 356 это 9-я ступень, то в таблицу с ячейкой, над которой написано 9 вписываем 1.
Теперь отнимаем от нашего числа 356 эту 9-ю ступень: 356-256=100.
Теперь смотрим, раз 8-я ступень не помещается в нашем числе 100, то под 8-кой ставим 0 (ноль).
Седьмая ступень 64 — помещается в нашем числе 100. Значит вписываем под 7-кой число 1 и отнимаем от 100 седьмую ступень: 100-64=36.
Шестая ступень также помещается в 36-ти, поэтому под 6-кой пишем 1 и отнимаем шестую ступень от 36: 36-32=4.
Пятая ступень не помещается в 4-х, поэтому под 5-кой пишем 0.
Четвёртая ступень также не помещается в 4-х, поэтому под 4-кой также пишем 0.
Третья ступень помещается в 4-ке, поэтому под 3-кой пишем 1 и отнимаем третью ступень от 4-ки: 4-4=0.
Полученный ноль не помещается во 2-й и 1-й ступенях, поэтому там пишем нули.
В итоге наша таблица заполнилась вот так:
То есть наше полученное число: 101100100
Десятичное число 356 в двоичном виде будет 101100100.
А если вам срочно нужно перевести числа из десятичной системы счисления в двоичную, то можете воспользоваться калькулятором Windows, только переключите его с обычного на продвинутый, для чего в меню нажмите Вид — Инженерный.
Там впишите своё число и переключите точку с надписи Dec на надпись Bin.
В настоящий момент времени наибольшее распространение получила десятичная система счисления, однако есть и системы с другим основанием, которые либо использовались ранее, либо которые используются в специальных отраслях знаний таких, как информатика (к этому сегменту относятся, в основном, шестнадцатеричная и двоичная системы, иногда и восьмеричная).
Как здесь уже описали, чтобы получить из десятичного числа двоичное, необходимо последовательно сначала разделить первоначальное число на 2 и в зависимости от наличия или отсутствия остатка от деления записывать 1 или 0, далее необходимо делить на двойку уже результат предыдущего деления и продолжать в том же духе, пока будет что делить.
Чтобы не утруждаться подобными вычислениями, можно воспользоваться калькулятором, в которых предусмотрена функция перевода числа из одного основания в другое.
В довершение к написанному, привожу первые несколько десятков десятичных чисел и их соответствие числам в иных системах счисления.
Очень много рекомендаций, но зачем так усложнять все? Любое число можно составить из степеней двойки обычным суммированием этих самых степеней! Например, число 255:
255 = 128+64+32+16+8+4+2+1 = 11111111
240 = 128+64+32+16 = 11110000
число 5 = 4+1 = 101
И почему никто не сказал, как перевести в двоичную систему счисления отрицательные числа? Отрицательное число — это тоже число, поэтому, надо взять за основу максимальную степень двойки, в пределах которой нам надо перевести число. Например — все посчитаем в пределах 2 в 8 степени, то есть — 256. Возьмем число -5, то есть 256-5=251 = 11111011. По такой схеме получается, что все, что до 127 включительно — будут положительными числами, то есть 01111111 = +127, а все, что больше — уже отрицательными. 10000000 = 256-128 = -128! А как же быть, если число, например = -30000. Тогда надо просто увеличить разрядность двоичной сетки, например — до двух байт: 2 в степени 16=65536. -30000 = 65536-30000 = 35536 35536/256=138 — старший байт. 35536-(138*256)= 208 — младший байт. Итого: 138=128+10=10001010, 208=13*16 = 11010000. И -30000 = 1000101011010000!
Ну а как быть с дробями? Тоже проще простого! Берем дробь, умножаем ее на степень двойки, например 16: 65536*0,6464618=42.366. Полученное число — целую часть и приводим в двоичном виде: 1010010101111110. Чем выше степень двойки, тем точнее число. Тут надо еще помнить про мантиссу и экспоненту и форматы представления чисел в ПЭВМ.