Ни для кого не секрет, что современная техника обладает колоссальными возможностями и превосходит человека по многим показателям, например, по скорости. Кажется, что за столь непонятным устройством лежит что-то крайне сложное, недоступное для обычного человека... Но что если я скажу, что за всеми сложными вычислительными процессами стоит всего один простой принцип? Это сложение.
Да! Всё, что умеет компьютер, это складывать числа. А уже с помощью различных логических комбинаций сложения чисел, можно получить все остальные действия, на которые сегодня способен компьютер, начиная от банального умножения и заканчивая обучением искусственного интеллекта.
Но если мы с вами выполняем сложение в системе счисления, называемой десятичной, то в компьютере это происходит в двоичной или бинарной СС. Вы, наверное, сейчас представите эти страшные матрицы нулей и единиц, подумаете как же это всё сложно, но поверьте... двоичная система во много раз проще привычной нам десятичной, как в плане самих операций, так и в плане реализации. Тут стоит сразу остановиться на том:
Как работает десятичная СС?
В привычной нам десятичной системе существует 10 символов, с помощью которых мы можем записать любое десятичное число: 0,1,2,3,4,5,6,7,8,9. Каждое число состоит из разрядов. Представьте себе вот такой большой бесконечный ряд нулей:
.....00000000000000000000000000000000000000000
Это ряд доступных для нашего воображения разрядов. Самый правый нолик в десятичной СС отвечает за разряд единиц, нолик перед ним - за разряд десятков, третий справа - за сотни, далее тысячи и так далее, до бесконечности. От того сколько разрядов задействовано, число называется двузначны, пятизначным, шестизначным и так далее. Начнём записывать однозначные числа. Для этого нужно увеличивать самый правый нолик до тех пор, пока это возможно:
- ...000000001
- ...000000002
......
- ...000000009
Обратите внимание, что незаполненные (нулевые) разряды слева от первого заполненного называются незначащими, поэтому их можно не записывать, но мысленно они там есть.
И вот мы дошли до числа 9, что же дальше? Разряд единиц переполнен, и мы должны текущий и предыдущие разряды обнулить, а следующий (разряд десятков) увеличить. Так как там сейчас 0, то он станет 1. В итоге мы получим уже двузначно число (в нем задействованы два разряда), которое мы называем: десять
- ...000000009
- ...000000010
Далее будем опять же увеличивать самый правый разряд, пока не дойдём до 19, после чего мы текущий и предыдущие разряды должны обнулить, а следующий увеличить. Так как там сейчас 1, то он станет 2. В итоге мы получим число, которое мы называем: двадцать
- ...000000019
- ...000000020
Так будем происходить до бесконечности, пока мы не устанем считать. За 1109, будет 1110, потом 1111, потом 1112, 1113, 1114 и т.д.
Но что же там с двоичной системой?
И тут всё гораздо проще. В двоичной СС уже не десять, а всего лишь два символа: 0 и 1. Опять же помним про бесконечный разрядный ряд нулей:
.....000000000000000000000000000000000
В двоичной системе однозначных чисел всего два:
- ...000000000
- ...000000001
Далее по аналогии с десятичной системой, если происходит переполнение разрядов, мы увеличиваем следующий разряд, а предыдущие обнуляем:
- ...000000010
- ...000000011
- ...000000100
- ...000000101
- ...000000110
- ...000000111 и т.д.
Обратите внимание: мы не можем записать число 217 в двоичной системе, так как в ней не существует цифр 2 и 7, точно так же как не можем в десятичной записать число 18BC, так как в ней нет таких цифр как B и C.
А что там с компьютером?
В компьютере легко представить число цифру 0, как отсутствие чего-либо, а 1 - как присутствие чего-либо. Ка правило, этим чем-либо является напряжение. Таким образом, мы можем представить наш разрядный ряд нулей в виде ряда негорящих лампочек, вкрученных в патроны. С помощью включателей мы можем подавать напряжение на какю-либо лампочку.
Поскольку в компьютере такой разрядный ряд не может быть бесконечным, то, как правило, он переставляет из себя ряд из 32 и 64 разрядов. В данном случаем мы взяли 8 лампочек, поэтому максимальное число, которое мы можем записать будет 8-рязрядным.
Теперь если мы подадим напряжение на самую правую лампу, она загорится, и мы получим число 00000001 или просто 1. Таким образом, мы получили элемент, обладающий памятью и способный хранить какие-либо данные.
Конечно, какое устройство было использовано в самых первых ламповых компьютерах, но принцип с тех пор не изменился, и в следующих статьях вы сможете продолжить знакомство с невероятно интересной вещью под названием компьютер.
Если вам понравилась данная статья, Вы можете ознакомиться с остальным контентом моего канала, где я максимально простым языком помогаю Вам узнать что-то новое, полезное и интересное!