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

У нас 10 пальцев, и система — десятичная. То есть, любое, сколь угодно большое число мы можем представить с помощью цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В зависимости от того, где в числе стоит цифра, она может означать разное: если эта цифра последняя, то она расположена в разряде единиц, предпоследняя — разряд десятков, еще левее — разряд сотен и так далее. По сути, любое число можно расписать в виде суммы цифр, каждая из которых умножена на десять в определенной степени. В случае единиц, эта степень — нулевая.

Например,

1573 = 3*100 + 7*101 + 5*102 + 1*103.

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

У компьютера пальцев нет, но есть два состояния: условно «ток идет» и «ток не идет», нулик и единичка. Соответственно все числа (да и вообще информация) в памяти компьютера состоят только из двух цифр — 0 и 1. Их расположение, как и в случае десятичной системы счисления, указывает на разряд. Только теперь число можно разложить на сумму цифр, помноженных не на степени десятки, а степени двойки.

0 в двоичной системе = 0
1 в двоичной системе = 1 
2 в двоичной системе = 10 
710=1112

Научитесь переводить из двоичной системы в десятичую. Вы, наверное, уже поняли, как это делается — просто берем цифру числа начиная с самой правой и умножаем её на базу системы счисления в степени, соответствующей её разряду, так с каждым разрядом. Затем складываем все получившиеся таким образом числа.

Пример:

Давайте найдем десятичный аналог двоичного числа 1011012

  • Самая правая единичка = 1*20
  • Следующий нулик = 0*21
  • Третья справа единичка = 1*22
  • Четвертая = 1*23
  • … и так далее
1011012 = 1*20 + 0*21 + 1*22 + 1*23 + 0*24 + 1*25 = 1 + 0 + 4 + 8 + 0 + 32 = 4510

Представьте восемь лампочек, выставленных в ряд. У каждой из них — свой собственный выключатель.

Каждая из лампочек — это разряд. Да что представлять, вспомните самую первую лекцию (там есть такой агрегат) или вот вам виджет: cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html

Поиграйтесь с ним, «прочувствуйте» двоичную систему.

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

Тут тоже всё просто, если понимать суть.

Пример:

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


26 = 64. 
Это явно многовато. 
А вот 25 = 32.

Мы определили старший разряд. 3210 = 1000002. Теперь ищем следующий разряд. 57-32 = 25. Теперь для 25 ищем степень двойки, которая не превосходит 25. 24 = 16. Значит, следующий разряд у нас тоже равен 1. 32+16 = 4810 = 1100002. 57 – 48 = 9. 23 = 8, это меньше, чем 9. Значит следующий разряд тоже будет единичкой.


32 + 16 + 8 = 5610 = 1110002.
57 - 56 = 1, то есть осталась только одна степень 20.
Таким образом, 5710 = 1110012.

На этом все =) Переходите к следующей лекции!