Сколько бит стоит человеческая жизнь?
Постараюсь вкратце объяснить вам, что вообще такое код и подвести к следующей статье, в которой мы разберем, что такое электричество и узнаем, как с помощью него закодировать информацию.
Начнем с того, что с помощью кода мы можем обмениваться информацией, где важным условием является то, что получатель может данный код правильно интерпретировать (понимать).
Самый простой пример кода из массовой культуры – опущенный палец вниз на гладиаторских боях, что для гладиатора означало смерть, или поднятый вверх – жизнь. (Кстати, здесь имеет место неправильная интерпретация кода в современной культуре, так как данные жесты означали немного другое). Но вернемся к коду. С помощью всего лишь одного пальца руки мы можем принимать настолько важные решения для чьей-то жизни. Сравните даже по трудозавтратам, что легче, произнести целую фразу «Я желаю, чтобы он жил» (а ее надо не просто произнести, а прокричать, чтобы вас услышали) или просто показать палец вверх?
Так вот, представим, что других пальцев, кроме больших, у нас нет, а также условимся на том, что все жесты, кроме пальца вверх или вниз, считаются запрещенными в Древнем Риме. С помощью большого пальца правой руки мы можем показать два значения. Давайте обозначим их с помощью 0 и 1. Большой палец вверх – 1. Большой палец вниз – 0.
Теперь объяснять будет намного удобнее, потому что мы снова закодировали информацию, уже с помощью цифр.
0 — смерть
1 — жизнь
Носителя же нашей информации вместо сухого и скучного рука будем называть бит, который, как мы теперь знаем, может иметь два значения. Так что теперь всего-лишь с помощью одной руки, т.е одного бита, мы можем распоряжаться человеческими жизнями.
Но что, если мы хотим чего-то большего, чем просто вершить человеческие судьбы. Предположим, что мы хотим не только даровать или отнимать жизни, но и хотим, чтобы гладиатор станцевал для нас чечетку. И мы понимаем, что одного бита, чтобы закодировать новую информацию, нам уже недостаточно. Думаю, что вы быстро решили бы проблему, будь кто-то из вас императором, и быстро догадались бы подключить вторую руку.
Сколько значений мы можем получить в таком случае? 2 в степени n, где n — количество рук (бит). Ну и сразу вопрос для закрепления, сколько команд для гладиаторов имел бы четырехрукий бог Шива (а если бы у него было двенадцать рук?).
Имея два бита информации мы можем лучше раскрыть потенциал своего могущества:
- 00 — смерть
- 01 — жизнь
- 10 — танец
И еще одно значение вы также можете написать в комментариях, что именно вы бы хотели получить от гладиатора. В моём случае – пусть споёт. Теперь представьте, как много мы можем достичь, имея 8 бит информации. 256 значений, с помощью которых уже можно управлять целыми армиями гладиаторов. Думаю, концепция кодирования информация с помощью бита вам должна быть понятна.
В следующей статье мы поговорим с вами, как уже с помощью электричества мы можем кодировать информацию и посмотрим, как с помощью полученных знаний мы можем складывать числа.
Ну и небольший постскриптум. Это моя первая статья из планируемой серии, в которых я буду объяснять, что из себя представляет айти, начиная с самых основ. Статьи я разделю на небольшие блоки, начиная от устройства компьютера, более прикладных навыков, так же с нуля по возрастающей сложности(в основном будет фронтэнд, т.к это моя главная рабочая деятельность), и алгоритмов. Блоки эти я буду стараться публиковать не менее раза в неделю, по возможности чаще. Зависит от сложности конкретного блока.
Данные статьи нисколько не претендуют на роль «сделаем из тебя сениора за три месяца». Скорее, я хочу, начиная с самых основ, подвести читателя к тому, чтобы иметь общее понимание основных концепций, которые должен знать программист, и возможности самообучаться в дальнейшем.
К будущим статьям иногда будут прилагаться дополнительные материалы и книги для более подробного изучения.