Как из двоичной. Системы счисления

06.04.2019

Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде

позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел

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

называть арабской.

Позиционная система — значение всех цифр зависит от позиции (разряда) данной цифры в числе.

Примеры, стандартная 10-я система счисления - это позиционная система. Допустим дано число 453.

Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50,

а 3 — единицы и значению 3. Легко заметить, что с увеличением разряда увеличивается значение.

Таким образом, заданное число запишем в виде суммы 400+50+3=453.

Двоичная система счисления.

Здесь только 2 цифры - это 0 и 1. Основание двоичной системы - число 2.

Цифра, которая находится с самого края справа, указывает количество единиц, вторая цифра -

Во всех разрядах возможна лишь одна цифра — или нуль, или единица.

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

это число в виде последовательности нулей и единиц.

Пример: 10112 = 1*2 3 + 0*2*2+1*2 1 +1*2 0 =1*8 + 1*2+1=1110

Двоичную систему счисления, как и десятичную систему счисления , зачастую используют в вычислительной

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

в изображение на экране.

Сложение, вычитание и умножение двоичных чисел.

Таблица сложения в двоичной системе счисления:

10 (перенос в

старший разряд)

Таблица вычитания в двоичной системе счисления:

(заём из старшего

разряда) 1

Пример сложения «столбиком» (14 10 + 5 10 = 19 10 или 1110 2 + 101 2 = 10011 2):

+ 1 1 1 0
1 0 1
1 0 0 1 1

Таблица умножения в двоичной системе счисления:

Пример умножения «столбиком» (14 10 * 5 10 = 70 10 или 1110 2 * 101 2 = 1000110 2):

* 1 1 1 0
1 0 1
+ 1 1 1 0
1 1 1 0
= 1 0 0 0 1 1 0

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

Для преобразования из двоичной системы в десятичную пользуются следующей таблицей степеней

основания 2:

Начиная с цифры один каждая цифра умножается на 2. Точка, стоящая после 1, называют двоичной точкой .

Преобразование двоичных чисел в десятичные.

Пусть, есть двоичное число 110001 2 . Для перевода в десятичное записываем его в виде суммы по

разрядам следующим образом:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Немного по другому:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Также хорошо записывать расчет как таблицу:

Двигаемся справа налево. Под всеми двоичными единицами записываем её эквивалент строчкой ниже.

Преобразование дробных двоичных чисел в десятичные.

Задание: перевести число 1011010, 101 2 в десятичную систему.

Записываем заданное число в таком виде:

1*2 6 +0*2 5 +1*2 4 +1*2 3 +0 *2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

Другой вариант записи:

1*64+0*32+1*16+1*8+0*4+1*2+0*1+1*0,5+0*0,25+1*0,125 = 90,625

Либо в виде таблицы:

0.25

0.125

0.125

Преобразование десятичных чисел в двоичные.

Пусть, необходимо перевести число 19 в двоичное. Можем сдеать это таким образом:

19 /2 = 9 с остатком 1

9 /2 = 4 c остатком 1

4 /2 = 2 без остатка 0

2 /2 = 1 без остатка 0

1 /2 = 0 с остатком 1

То есть, каждое частное делится на 2 и записывается остаток в конец двоичной записи. Деление

продолжается до того момента, когда в частном не будет нуля. Итог пишем справа налево. Т.е. нижняя

цифра (1) будет крайней левой и так далее. Итак, у нас получилось число 19 в двоичной записи: 10011.

Преобразование дробных десятичных чисел в двоичные.

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

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

  • Дробь умножается на основание двоичной системы счисления (2);
  • В полученном произведении выделяется целая часть, которая принимается в качестве старшего

разряда числа в двоичной системе счисления;

  • Алгоритм завершается, если дробная часть полученного произведения равна нулю или если

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

дробной частью произведения.

Пример : Нужно перевести дробное десятичное число 206,116 в дробное двоичное число.

Переведя целую часть, получаем 206 10 =11001110 2 . Дробная часть 0,116 умножается на основание 2,

заносим целые части произведения в разряды после запятой:

0,116 . 2 = 0,232

0,232 . 2 = 0,464

0,464 . 2 = 0,928

0,928 . 2 = 1,856

0,856 . 2 = 1,712

0,712 . 2 = 1,424

0,424 . 2 = 0,848

0,848 . 2 = 1,696

0,696 . 2 = 1,392

0,392 . 2 = 0,784

Результат: 206,116 10 ≈ 11001110,0001110110 2

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

1. Из десятичной системы счисления:

  • делим число на основание переводимой системы счисления;
  • находим остаток от деления целой части числа;
  • записываем все остатки от деления в обратном порядке;

2. Из двоичной системы счисления:

  • для перевода в десятичную систему счисления находим сумму произведений основания 2 на

соответствующую степень разряда;

В одном из наших материалов мы рассмотрели определение . Оно имеет самый короткий алфавит. Только две цифры: 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



Большинство людей на нашей планете при счете пользуются десятичной системой счисления, а вот в компьютерах используется двоичная. Некоторые племена на заре развития человечества использовали двенадцатеричную и шестидесятеричную. Именно от них нам остались 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. Порядковый счет в различных системах счисления.

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

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

Поскольку у нас десятичная система счисления, мы имеем 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 цифр (т.к. ) из таблицы соответствия, дополнив при необходимости группу нулями вначале:



В двоичной системе счисления используются всего две цифры 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 его двоичную запись.