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

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

 

Числа используются для символического представления количества объектов. Очень простым методом представления количества является использование одинаковых значков. В такой системе между значками и пересчитываемыми объектами устанавливается взаимно однозначное соответствие. Например, шесть объектов могут быть представлены как ****** или 111111. Такая система становится очень неудобной, если попытаться с ее помощью представить большие количества.

Системы счисления, подобные римской, обеспечивают частичное решение проблемы представления большого количества объектов. В римской системе дополнительные символы служат для представления групп значков. Например, можно принять что I=*, Y=IIIII, X=YY, L=XXXXX и т.д. Заданная величина представляется с помощью комбинирования символов в соответствии с рядом правил, которые в некоторой степени зависят от положения символа в числе. Недостатком системы, которая с самого начала основывается на группировании некоторого множества символов с целью формирования нового символа, является то обстоятельство, что для представления очень больших количеств требуется очень много уникальных символов.

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

 

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

 

Изображение чисел в позиционной системе счисления

 

Изображение чисел в любой позиционной системе счисления с натуральным основанием R (R >1) базируется на представлении их в виде произведения целочисленной степени m основания R на полином от этого основания :

n

Ar = R^m * СУММА (a[i]*R^(-i)) ,

i=1

где:

a[i] { 0,1,..., R-1 } - цифры R-ичной системы счисления ;

n - количество разрядов (разрядность), используемых для представления числа;

R - основание системы счисления;

m {..., -2, -1, 0,+1,+2,...} - порядок числа;

R^(-i) - позиционный вес i - того разряда числа.

Так, в десятичной (R=10) системе для представления чисел используются цифры a = {0,1,...9}; в двоичной (R=2) - a = {0,1}, в шестнадцатеричной (R=16), a = {0,1....9,A,B,C,D,E,F} где прописные латинские буквы A..F эквивалентны соответственно числам 10..15 в десятичной системе.

1) 815=10^3*(8*10^(-1)+1*10^(-2)+5*10(-3))=8*10^2+1*10^1+5*10^0;

2) 8.15=10^1*(8*10^(-1)+1*10^(-2)+5*10^(-3))=8*10^0+1*10^(-1)+5*10^(-2);

3) 0.0815= 10^(-1)*(8*10^(-1)+1*10^(-2)+5*10^(-3))=

=8*10^(-2)+1*10^(-3)+5*10^(-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

Если посчитать сумму составляющих, то в итоге мы получим десятичное число, соответствующее 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 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137

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

100010012 = 13710

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

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