Найти в Дзене
Да ладно!?

Как из ламп получили компьютер?

Оглавление

Кажется, что за столь непонятным устройством лежит что-то крайне сложное, недоступное для обычного человека... Но что если я скажу, что за всеми сложными вычислительными процессами стоит всего один простой принцип? Это сложение.

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

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

Как работает десятичная система?

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

.....00000000000000000000000

Это ряд доступных для нашего воображения разрядов. Самый правый нолик в десятичной СС отвечает за разряд единиц, нолик перед ним - за разряд десятков, третий справа - за сотни, далее тысячи и так далее, до бесконечности. От того сколько разрядов задействовано, число называется двузначны, пятизначным, шестизначным и так далее. Начнём записывать однозначные числа. Для этого нужно увеличивать самый правый нолик до тех пор, пока это возможно:

  • ...000000001
  • ...000000002

......

  • ...000000009

Обратите внимание, что незаполненные (нулевые) разряды слева от первого заполненного называются незначащими, поэтому их можно не записывать, но мысленно они там есть.

И вот мы дошли до числа 9, что же дальше? Разряд единиц переполнен, и мы должны текущий и предыдущие разряды обнулить, а следующий (разряд десятков) увеличить. Так как там сейчас 0, то он станет 1. В итоге мы получим уже двузначно число (в нем задействованы два разряда), которое мы называем десять:

  • ...000000010

Далее будем опять же увеличивать самый правый разряд, пока не дойдём до 19, после чего мы текущий и предыдущие разряды должны обнулить, а следующий увеличить. Так как там сейчас 1, то он станет 2. В итоге мы получим число, которое мы называем: двадцать

  • ...000000019
  • ...000000020

Но что же там с двоичной системой?

-2

И тут всё гораздо проще. В двоичной СС уже не десять, а всего лишь два символа: 0 и 1. Опять же помним про бесконечный разрядный ряд нулей:

.....000000000000000

В двоичной системе однозначных чисел всего два:

  • ...000000000
  • ...000000001

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

  • ...000000010
  • ...000000011
  • ...000000100
  • ...000000101
  • ...000000110
  • ...000000111 и т.д.

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

-3

Поскольку в компьютере такой разрядный ряд не может быть бесконечным, то, как правило, он переставляет из себя ряд из 32 и 64 разрядов (отсюда появились 32-ух и 64-ех разрядные системы). В данном случаем мы взяли 8 лампочек, поэтому максимальное число, которое мы можем записать будет 8-рязрядным.

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

-4