Двоичная система счисления в десятичную. Почему двоичная система счисления так распространена? Алгоритм перевода чисел из одной системы счисления в другую

  • 10.05.2019

В одном из наших материалов мы рассмотрели определение . Оно имеет самый короткий алфавит. Только две цифры: 0 и 1. Примеры алфавитов позиционных систем счисления приведены в таблице.

Позиционные системы счисления

Название системы

Основание

Алфавит

Двоичная

Троичная

Четверичная

Пятеричная

Восьмеричная

Десятичная

0,1,2,3,4,5,6,7,8,9

Двенадцатеричная

0,1,2,3,4,5,6,7,8,9,А,В

Шестнадцатеричная

0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F

Тридцатишестиричная

0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F,G, H,I,J,K,L,M,N,O,P,R,S,T,U,V,X,Y,Z


Для перевода небольшого числа из десятичного в двоичное, и обратно, лучше пользоваться следующей таблицей.

Таблица перевода десятичных чисел от 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.

Правило перевода целых десятичных чисел в двоичную систему счисления, гласит:

  1. Разделим a n−1 a n−2 ...a 1 a 0 =a n−1 ⋅2 n−1 +a n−2 ⋅2 n−2 +...+a 0 ⋅2 0 на 2.
  2. Частное будет равно an−1 ⋅2n−2+...+a1 , а остаток будет равен
  3. Полученное частное опять разделим на 2, остаток от деления будет равен a1.
  4. Если продолжить этот процесс деления, то на n-м шаге получим набор цифр: a 0 ,a 1 ,a 2 ,...,a n−1 , которые входят в двоичное представление исходного числа и совпадают с остатками при его последовательном делении на 2.
  5. Таким образом, для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, которое будет равно нулю.

Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков. Записывать его начинаем с последнего найденного.


Переведём десятичное число 11 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:


Получили 11 10 =1011 2 .

Пример:

Если десятичное число достаточно большое, то более удобен следующий способ записи рассмотренного выше алгоритма:



363 10 =101101011 2



В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)

Чтобы научиться понимать числа в двоичной системе счисления, сначала рассмотрим, как формируются числа в привычной для нас десятичной системе счисления.

В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.

Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.

Попробуем считать в двоичной системе:
0 – это ноль
1 – это один (и это предел разряда)
10 – это два
11 – это три (и это снова предел)
100 – это четыре
101 – пять
110 – шесть
111 – семь и т.д.

Перевод чисел из двоичной системы счисления в десятичную

Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.

В десятичной системе счисления любое число можно представить в форме суммы единиц, десяток, сотен и т.д. Например:

1476 = 1000 + 400 + 70 + 6

1476 = 1 * 10 3 + 4 * 10 2 + 7 * 10 1 + 6 * 10 0

Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 - это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.

Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:

10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0

1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137

Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:

10001001 2 = 137 10

Почему двоичная система счисления так распространена?

Дело в том, что двоичная система счисления – это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в десяти состояниях. Это сложно. Проще изготовить физический элемент, который может быть лишь в двух состояниях (например, есть ток или нет тока). Это одна из основных причин, почему двоичной системе счисления уделяется столько внимания.

Перевод десятичного числа в двоичное

Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись.

Большинство людей на нашей планете при счете пользуются десятичной системой счисления, а вот в компьютерах используется двоичная. Некоторые племена на заре развития человечества использовали двенадцатеричную и шестидесятеричную. Именно от них нам остались 12 часов на циферблате и 60 минут в часу.

Порою необходимо перевести число из одной системы в другую. В этой статье рассмотрим конкретнее, как переводить в десятичную систему из некоторых других популярных систем.

Принцип построения числа из цифр

Прежде всего нужно понять, что такое система счисления и её основание. Система счисления - способ представления чисел в виде комбинации тех или иных цифр. Основание системы - количество цифр, в ней использующихся. Например, в десятичной системе с основанием 10 всего 10 цифр - от 0 до 9. В шестнадцатеричной, соответственно, 16 цифр, для обозначения которых используются арабские цифры 0 - 9 и латинские буквы A - F вместо цифр 10 - 15. Например, 2F7BE 16 - число шестнадцатеричной системы. При такой записи нижним индексом обозначается основание системы счисления. Ключевым различием между системами с разными основаниями является "ценность" числа 10. В шестнадцатеричной системе 10 16 будет равно 16 10 , а в двоичной 10 2 равно всего лишь двум. 100 16 будет вычисляться как

100 16 = 10 16 * 10 16 = 16 10 * 16 10 = 256 10 .

Следует также различать понятия "цифра" и "число". Цифра обозначается одним символом, а число - может и несколькими. Например, число 9 10 в двоичной системе будет выглядеть как 1001 2 , а цифра 9 в двоичной системе не существует как таковая.

Алгоритм перевода

Чтобы перевести в десятичную систему число, нужно научиться применять несложный алгоритм.

  1. Определить основание системы счисления. Оно обозначается нижним индексом после числа, к примеру, в числе 2F7BE 16 основание равно 16.
  2. Каждую цифру числа умножить на основание в степени, равной номеру цифры справа налево, начиная с нуля. В числе 2F7BE 16 Е (равное 14) умножается на 16 в нулевой степени, В (цифра 11) - на 16 в первой степени и так далее: 2F7BE 16 = 2*16 4 +15*16 3 + 7*16 2 + 11*16 1 + 14*16 0 .
  3. Сложить полученные результаты.

2*16 4 +15*16 3 + 7*16 2 + 11*16 1 + 14*16 0 = 194494 10 .

Рассмотрим на примерах, как самые популярные - шестнадцатеричную, восьмеричную и двоичную системы перевести в десятичную.

  • 5736 8 = 5*8 3 + 7*8 2 + 3*8 1 + 6*8 0 = 3038 10
  • 1001011 2 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 75 10
  • 2F7BE 16 = 2*16 4 +15*16 3 + 7*16 2 + 11*16 1 + 14*16 0 = 194494 10

Разумеется, считать каждый раз вручную неудобно, нерационально, да и неохота. Существует множество калькуляторов, умеющих переводить числа из системы в систему. К примеру, стандартный калькулятор Windows в режиме "Программист" (клавиши Alt+3 или меню "Вид") может работать с системами оснований 2, 8, 10 и 16.

Замечание 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}$

Правила перевода чисел из десятичной системы счисления в другую

  • Для перевода числа из десятичной системы счисления в двоичную его необходимо последовательно делить на $2$ до тех пор, пока не останется остаток, меньший или равный $1$. Число в двоичной системе представить как последовательность последнего результата деления и остатков от деления в обратном порядке.

Пример 4

Число $22_{10}$ перевести в двоичную систему счисления.

Решение:

Рисунок 4.

$22_{10} = 10110_2$

  • Для перевода числа из десятичной системы счисления в восьмеричную его необходимо последовательно делить на $8$ до тех пор, пока не останется остаток, меньший или равный $7$. Число в восьмеричной системе счисления представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример 5

Число $571_{10}$ перевести в восьмеричную систему счисления.

Решение:

Рисунок 5.

$571_{10} = 1073_8$

  • Для перевода числа из десятичной системы счисления в шестнадцатеричную систему его необходимо последовательно делить на $16$ до тех пор, пока не останется остаток, меньший или равный $15$. Число в шестнадцатеричной системе представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример 6

Число $7467_{10}$ перевести в шестнадцатеричную систему счисления.

Решение:

Рисунок 6.

$7467_{10} = 1D2B_{16}$

    Для того чтобы перевести правильную дробь из десятичной системы счисления в недесятичную, необходимо дробную часть преобразуемого числа последовательно умножить на основание той системы, в которую ее требуется перевести. Дробь в новой системе будет представлена в виде целых частей произведений, начиная с первого.

    Например: $0,3125_{(10)}$ в восьмеричной системе счисления будет выглядеть как $0,24_{(8)}$.

    В данном случае можно столкнуться с проблемой, когда конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В данном случае количество знаков в дроби, представленной в новой системе, будет зависеть от требуемой точности. Также нужно отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.

Правила перевода чисел из двоичной системы счисления в другую

  • Чтобы перевести число из двоичной системы счисления в восьмеричную, его необходимо разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, затем каждую триаду заменить соответствующей восьмеричной цифрой согласно таблице 4.

Рисунок 7. Таблица 4

Пример 7

Число $1001011_2$ перевести в восьмеричную систему счисления.

Решение . Используя таблицу 4, переведем число из двоичной системы счисления в восьмеричную:

$001 001 011_2 = 113_8$

  • Чтобы перевести число из двоичной системы счисления в шестнадцатеричную, его следует разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, затем каждую тетраду заменить соответствующей восьмеричной цифрой согласно таблице 4.

Самой короткой системой счисления является двоичная. Она полностью основана на позиционной форме записи числа. Основной характеристикой считается принцип удвоения цифры при выполнении перехода от определённой позиции к последующей. Из одной системы счисления в другую можно осуществить перевод как при помощи специальной программы, так и вручную.

Вконтакте

Историческое признание

Появление двоичной СС в истории связано с учёным математиком В.Г. Лейбницем. Именно он впервые заговорил о правилах выполнения операций с числовыми значениями данного рода. Но первоначально этот принцип остался невостребованным . Мировое признание и применение алгоритм получил на заре возникновения вычислительных машин.

Удобство и несложность выполнения операций привели к необходимости более детального изучения данного подраздела арифметики, который стал незаменимым при развитии компьютерной технологии с программным обеспечением. Впервые такие механизмы появились на немецком и французском рынках.

Внимание! Конкретную точку над превосходством двоичной системы по отношению десятичной, именно в данной отрасли, было поставлено в 1946 году и обосновано в статье А. Бекса, Х. Гольдстайна и Дж.Фон Неймана.

Перевод числа из десятичной системы счисления в двоичную.

Особенности двоичной арифметики

Вся двоичная СС основана на применении только двух символов , которые очень точно совпадают с особенностями цифровой схемы. Каждый из символов отвечает за определённое действие, которое зачастую подразумевает два состояния:

  • наличие отверстия или его отсутствие, к примеру, перфокарты или перфоленты;
  • на магнитных носителях отвечает за состояние намагничивания или размагничивания;
  • по уровню сигнала, высокий или низкий.

В науке, в которой применяется СС, введена определённая терминология, суть ее состоит в следующем:

  • Бит – двоичный разряд , который состоит из двух составляющих, несущих в себе определённый смысл. Размещённый слева, определяется как старший и является приоритетным, а справа – младшим, являющийся менее весомым.
  • Байт – это единица, которая состоит из восьми битов .

Многие модули воспринимают и обрабатывают информацию порциями или словами . Каждое слово имеет разный вес и может состоять из 8-ми, 16-ти или 32-х битов .

Правила переводов из одной системы в другую

Одним из важнейших факторов арифметики машин является перевод из одной СС в другую . Поэтому обратим внимание на основные алгоритмы выполнения процесса, который покажет, как перевести число в двоичную систему.

Переводим десятичную систему в двоичную

Первоначально обратимся к вопросу, как осуществить перевод системы из десятичной в двоичную систему счисления. Для этого существует правило перевода из десятичных чисел в двоичный код, которое подразумевает математические действия .

Необходимо число, записанное в десятичном виде разделить на 2 . Деление выполнять до тех пор, пока в частном не останется единица . Если необходима двоичная система счисления перевод осуществляется так:

186:2=93 (ост. 0)

93:2=46 (ост. 1)

46:2=23 (ост. 0)

23:2=11 (ост. 1)

11:2=5 (ост. 1)

5:2=2 (ост.1)

После того, как процесс деления закончен, то единицу в частном и все остатки записываем последовательно в обратном делению порядке . То есть, 18610=1111010. Правило перевода десятичных чисел в СС надо соблюдать всегда.

Перевод числа из десятичной системы в двоичную.

Перевод из десятичной СС в восьмеричную

Аналогичный процесс проводится при переводе из десятичной СС в восьмеричную. Его ещё называют «правилом замещения ». Если в предыдущем примере деление данных осуществлялось на 2, то здесь необходимо делить на 8. Алгоритм перевода числа X10 в восьмеричную состоит из следующих шагов:

  1. Число X10 начинают делить на 8. Полученное частное берём для следующего деления, а остаток записывается, как бит младшего порядка .
  2. Продолжаем деление до тех пор, пока не получим в результат частного равного нулю или остаток, который по своему значению меньше восьми . При этом все остатки записываем, как младшие порядки бита .

К примеру, необходимо перевести число 160110 в восьмеричное.

1601:8=200 (ост. 1)

200:8=25 (ост. 0)

25:8=3 (ост.1)

Итак, получим: 161010=31018.

Перевод из десятичной системы в восьмеричную.

Записываем десятичное число шестнадцатеричным

Перевод из десятичной в шестнадцатиричную СС осуществляется аналогично с использованием системы замещения. Но кроме цифр применяют ещё и буквы латинского алфавита A, B, C, D, E, F. Где A обозначает остаток 10, а F остаток 15. Десятичное число делят на 16. К примеру, переводим 10710 в шестнадцатеричную:

107:16=6 (ост. 11 – заменяем В)

6 – меньше, чем шестнадцать. Деление прекращаем и записываем 10710=6В16.

Переходим из другой системы в двоичную

Следующий вопрос, как преобразовать из восьмеричной в двоичную запись числа. Перевод чисел из любой системы в двоичную выполняется достаточно просто. Помощником в этом деле выступает таблица для систем счисления .