§ Десятичный счет

В цифровой электронике все основано на том, что существует только два состояния, это 0 или 1, включено или выключено. Это называется двоичной системой счисления. Другими числами компьютер оперировать не умеет. Но спрашивается, а как тогда он умеет все так хорошо, быстро и точно вычислять? Ответ в том, что двоичные числа могут представляться в виде уникальных последовательностей, которые означают разные комбинации.
В десятичной системе счисления всего лишь 10 цифр, начиная с 0 и заканчивая 9. Помимо десятичной системы, она еще и позиционная, что значит то, что цифра, которая находится левее, в 10 раз больше цифры, которая находится правее. Например, число 10 в 10 раз больше чем 1, или 40 в 10 раз больше чем 4 и так далее. Аналогично с двоичной системой. Различие только в том, что там в одной позиции может быть число от 0 до 1, и не больше. Как и в десятичной системе, число, которое находится левее, в 2 раза больше.
На примере посмотрим, как производится счет в десятичной системе счисления:
 0  1  2  3  4  5  6  7  8  9
10 11 12 13 14 15 16 17 18 19
20 21 ...
То есть, после того как завершился цикл, после числа 9 появляется в той же позиции число 0, а в позиции левее число увеличилось на 1. Это значит что после 09 идет 10, а не 100, например.

§ Двоичный счет

А теперь сделаю то же самое, но учтем, что числа 2 не существует, а существует только 0 или 1.
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
...
Как и в десятичной системе счисления, после 9 идет 0, а тут после 1 идет 0 и добавляется левее плюс 1. То есть, когда прибавляется 0+1, то получается, понятное дело 1, а если добавляется 1+1, то теперь в позиции где был 1, станет 0, и левее добавится 1, то ест, станет 10.
Так же и 10+1=11, и аналогично, 11+1 создаст ситуацию что будет 0 справа, и левее добавится 1, но там и так уже был 1, и на второй позиции слева тоже станет 0 и добавится 1 левее, что станет равным 11+1=100.
Тут делается вывод, что двоичная и десятичная система счисления отличаются лишь только в количестве допустимых знаков в позиции, и только. Больше ничем.

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

Как и двоичная, или десятичная система счисления, существует еще и шестнадцатеричная, которая содержит 16 знаков в одной позиции. Зачем она нужна? Прежде всего, она нужна человеку, и она сама по себе является неким посредником между миром цифр и человеческим разумом. Дело в том, что двоичные коды читать человеку сложно, читать и воспринимать длинные последовательности нулей и единиц тяжело, поэтому для этой цели была придумана шестнадцатеричная и восьмеричная система счисления, которые отличаются количеством разрядов.
Представлю таблицу, в которой укажу все системы счисления:
2    16 8 10
0000 0  0  0
0001 1  1  1
0010 2  2  2
0011 3  3  3
0100 4  4  4
0101 5  5  5
0110 6  6  6
0111 7  7  7
1000 8 10  8
1001 9 11  9
1010 A 12 10
1011 B 13 11
1100 C 14 12
1101 D 15 13
1110 E 16 14
1111 F 17 15
Как по мне, самая неудобная система, это восьмеричная. Эту таблицу, если хочется быстро считать и переводить из системы в систему счисления, лучше запомнить, особенно запомнить соответствия двоичных и шестнадцатеричных кодов. Например, чтобы перевести последовательность такого числа 11011110101011011011111011101111 в 16-ричную систему счисления, необходимо разбить это число на группы по 4 цифры.
1101 1110 1010 1101 1011 1110 1110 1111
   D    E    A    D    B    E    E    F
Снизу же эквивалентное значение DE AD BE EF, которое читается намного проще. То есть группу из 8 двоичных цифр можно разбивать на 2 буквы и представлять в удобочитаемом виде.

§ Регистры

В отличии от реального мира, в компьютерном пространстве количество хранимых значений не является бесконечным, что создает баг, который плавно перетекает в лютую фичу.
Представим себе что у нас есть всего лишь 2 лампочки, которые можно включить или выключить, нажимая на кнопки.
Вопрос? Сколько уникальных комбинации можно составить из этих двух лампочек?
  • [00] Лампа 0 выключена, лампа 1 выключена
  • [01] Лампа 0 включена, лампа 1 выключена
  • [10] Лампа 0 выключена, лампа 1 включена
  • [11] Лампа 0 включена, лампа 1 включена
И на этом все. Больше невозможно ничего сделать, только 4 разных состояния. Добавим теперь еще одну лампочку. Это дает то, что теперь количество возможных состояний удваивается:
1) новая лампа будет выключена, можно составить 4 различных комбинации из 2х лампочек
2) новая включена, тоже 4 комбинации можно составить
По итогу будет теперь 8 различных комбинации. Абсолютно аналогично, удваивается количество комбинации с 8 до 16, если добавить четвертую лампу. Таким образом, получается что если 1 лампочка может символизировать только 2 состояния, то 2 лампочки уже вдвое больше, то есть 4, три лампочки еще вдвое больше, 8, и так далее, что вырисовывает следующую последовательность: 2*2*2*...*2 = 2^n, где n-количество разрядов. Другими словами, 2 в степени n равно количеству состояний, который может символизировать регистр.
И тут появляется вопрос. А что если 2 лампочки будут, и вот представим, что 00=0, 01=1, 10=2, 11=3, всего лишь 4 состояния, от 0 до 3. Прибавляя единицу, получается следующее состояние. 00+1=01, 01+1=10, 10+1=11.
А что если прибавить 11+1? Ведь по идее, должно быть 100, но нет же третьей лампочки. И тут вступает в силу определенный баг, который гласит:
Коль увидел ты, что лампады горят все, потуши их и будет ночь, и будет день, и тогда небеса с шумом прейдут, стихии же, разгоревшись, разрушатся, земля и все дела на ней сгорят
Ладно. Так не будет, но суть в том, что все единицы станут нулями и после 3 будет 0. Это если говорим именно о 2 лампочках. Для 3х это число возрастет до 7, для 4х до 15 и так далее. Все зависит от разрядности регистра.

§ Великий циферблат

Всем известно, что на настенных часах есть цифры от 1 до 12 (или от 1 до 60), расположенные в виде окружности. Точно так же, как и на часах, представим, что мы разместили на часах цифры от 0 до 15, допустим. Когда цифра подойдет к 15, то следующая цифра будет равна не 16, а 0.