13 сентября — день программиста — 13.09.25 13:17
Почему именно 13 сентября день программиста ?
Внутри компьютера не хранятся ни слова, ни цифры, ни аниме картинки — там вся информация представлена в виде нулей и единиц — 0 и 1
В сердце самой главной материнской платы установлен процессор, состоящий из огромного числа транзисторов, которые работают на элементарной логике ДА или НЕТ — 1 или 0
Если я на улице ДА и идёт дождь ДА — я открываю зонт. Давайте обозначим состояние когда зонт открыт в 1, тогда у нас с вами получается такая таблица
Я на улице? 1010
Идёт дождь? 1100
Зонт открыт? 1000
Т.е. всего у нас 4 возможных варианта, самый правый вариант это я дома и дождь не идёт — значит зонт закрыт.
Это называется двоичная логика, так как в расчётах участвуют всего 2 числа, 0 и 1
Если очень сильно упрощать, то каждую кнопку в вашей клавиатуре надо закодировать в виде 0 и 1
Например, цифра 1 на вашей клавиатуре будет обозначена как 1
А вот цифра 2 уже будет обозначена как 10, так как внутри компьютер только две эти цифры
Как вы думаете, а каким числом можно закодировать число 3, а затем 4? Кто знает или догадался — пишите ответ в комментариях.
Теперь вопрос посложнее, а сколько нам нужно нулей и единиц, чтобы закодировать всю нашу клавиатуру?
Ответ на этот вопрос — это степень числа 2. 2 ^ 2 = 4, т.е. с помощью 2-х цифр 0 и 1 мы можем закодировать 4 числа
00 = 0
01 = 1
10 = 2
11 = 3 (да, да, вот и ответ…)
2 ^ 3 = 8, т.е. с помощью трёх 0 и единиц мы можем закодировать 8 чисел
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7
А чтобы закодировать все наши кнопки на клавиатуре нам потребуется 2 ^ 8 = 256 вариантов
2 ^ 7 = 128 казалось бы столько должно хватить на всю клавиатуру, но есть ещё БОЛЬШИЕ и маленькие буквы и разные спецсимволы, типа знака доллара $
Итак, для английской клавиатуры достаточно 256 вариантов нулей и единиц, например,
00000000 = 0 и так далее… При этом буквы тоже кодируются нулями и единицами.
Например, L это 01001100, а следующая за ней буква М представлена в мозгах компьютера как 01001101
А сколько получится если к 1 января прибавить 256 дней ?