Mihao, лаоваи и не только!
Если кто недавно разморозился из глыбы льда - у меня есть для вас хорошая новость: за окном - информационная эра!
Это значит, что все, что сейчас происходит в мире так или иначе связано с обработкой, передачей, хранением и преобразованием информации. Удивительно, не правда ли?
Еще удивительнее тот факт, что не существует общепринятого определения термина "информация", поэтому, что там обрабатывается - непонятно.
Но, если отвлечься от высоких материй и вернуться на бренную информационную землю, можно считать, что информация - это последовательность битов. Давайте на этом и остановимся, не вникая в смысл информационного потока.
Что такое бит, спросите вы? А это, детектив, правильный вопрос!
В основе всего
Итак, что есть бит? Слово бит произошло от английского сокращения - binary digit - bit (игра слов, bit по-английски - "кусочек" или "крупица").Бит - это самая маленькая порция информации, которая может описать только два состояния. Бит естественным образом описывает бинарные вещи: мужчина - женщина, верх - низ, лево - право, истина - ложь и так далее. Если вам кажется, что двух состояний маловато для описания всего мира, то вы очень глубоко заблуждаетесь. И сейчас я расскажу почему.
Инь и Ян - китайская информатика
Идея о том, что в основе всего сущего лежит всего два элемента уходит корнями в такую древность, что отследить ее полностью не представляется возможным. Однако, даже то, что нам известно очень познавательно. Рассмотрим возникновение мира с точки зрения древнекитайских философов. Вначале было У-Цзи - великая пустота. Небытие. Великое Ничто. В общем - null, если говорить терминами современных языков программирования. Про великую пустоту сказать больше нечего, кроме того, что она пустота и она велика. Поехали дальше!
Великая пустота была неизвестно сколько (потому что времени тогда не было) и неизвестно где (потому что пространства тоже еще не было), но в итоге решило добавить динамики в свое несуществование и породило Тай-цзи - великий предел, в результате чего появилось пространство и время.
Время и пространство - это конечно классно, но хотелось бы больше экшна, поэтому Тай-цзи породило Лян-и - Два Начала, которые были неразделимы, но противоположны - Инь и Ян. У меня и фото этой сладкой парочки есть, смотрите:
Ну, а дальше пошло поехало, 2 начала раздробились на 4, 4 - на 8 и так далее возникло "великое множество вещей".Те же китайцы считали - и описали это в "Книге Перемен" - что любые изменения в мире и душе человека происходят по кругу и описываются 64 состояниями. Если их детализировать, то можно увеличить количество состояний, но видимо в древнекитайском метафизическом процессоре был всего один 6-битный регистр. Итак, давайте рассмотрим некоторые из этих состояний, чтобы понять, как имея всего 2 признака описать все сущее. Состояния описывались в виде 6 горизонтальных сплошных и прерывистых линий. Сплошная линия - это линия Ян, а прерывистая - Инь. Полный набор всех состояний выглядит так:
Теперь переведем эти черточки на язык современной математики. Пусть у нас есть 64 состояния. Просто пронумеруем их от 0 до 63. Обозначим Ян - сплошную линию - единицей, а Инь - прерывистую линию - ноликом.
Тогда все состояния можно обозначить так:
0 = 000000
1 = 000001
2 = 000010
3 = 000011
...
И так далее. Такая запись обычных цифр называется двоичной позиционной системой и ее у китайцев спустя века, творчески переработав, позаимствовал Готфрид Лейбниц, но об этом ниже.
Лейбниц и книга перемен
Жил да был в XVII веке некий Готфрид Вильгельм Лейбниц. Ну что про этого человека можно сказать: саксонский философ, логик, математик, механик, физик, юрист, историк, дипломат, изобретатель и языковед. Основатель и первый президент Берлинской Академии наук, иностранный член Французской Академии наук. Плейбой, сибарит, миллионер.
Ну вы поняли, одаренный был парень.
Как-то раз, путешествуя по Европе, Готфрид познакомился c иезуитом Гримальди, недавно вернувшимся из Китая. Готфрид давно фанател от Китая и с интересом узнал о китайской "Книге Перемен", описывающей все сущее с помощью Инь и Ян. Эта идея очень понравилась Готфриду, но он пошел дальше и решил придумать арифметику, состоящую всего из двух цифр - 0 и 1.
В 1703 г. в труде Explication de l’Arithmétique Binaire Готфрид описывает такую арифметику и она ему настолько понравилась, что он заказал себе медаль, на одной стороне которой была таблица с несколькими числами и простейшими действиями по новой системе. На краю медали была изображена лента с надписью: "Чтобы вывести из ничтожества всё, достаточно единицы".
Казалось бы, Готфрид за казенные бабки на должности история графа и элементарно страдал фигней, но не все так просто. Кроме всего прочего, Лейбниц был изобретателем арифмометра, который, по сути, был механическим калькулятором, предтечей микросхем и современных процессоров. И именно изобретенную двоичную арифметику Лейбниц считал оптимальной для построения более совершенных арифмометров.
На дворе был 1703 год, а он уже тогда понял неоспоримые достоинства двоичной математики для построения механических вычислителей. Поэтому, когда будете сидеть в телефоне или компьютере, не забудьте мысленно сказать прозорливому Готфриду "спасибо".
Двоичная система счисления
Итак, по Лейбницу, любое число можно записать в виде последовательности нулей и единиц. Сделать это довольно просто, примерно так:
101 = 1 * 4 + 0 * 2 + 1 * 1 = 5
111 = 1 * 4 + 1 * 2 + 1 * 1 = 7
100 = 1 * 4 + 0 * 2 + 0 * 1 = 4
То есть любое число можно представить в виде суммы произведений 1 или 0 на степени двойки. Поскольку все в этом мире - звук, цвет, громкость - можно представить в виде чисел, а любое число мы можем записать в виде последовательности 0 и 1, значит нуля и единицы достаточно для описания мира. Неплохо))
Сколько вешать в граммах
Пока люди на закрытых военных базах обменивались текстом раз в месяц по регламенту, считать биты никто не собирался. Но как только в интернет ворвались пользователи и захотели слать миллионы фотографий с солнышком на ладошке - возникли проблемы. Бит все-таки - слишком маленький кусочек информации, все считать в битах - неудобно, потому что цифры получаются астрономические. Значит нам нужны кусочки побольше. Итак, есть байт. Байт - это минимальный объем одновременно обрабатываемой информации на данной архитектуре процессора. Но, хотя существовали и 6-битные байты и так далее, на текущий момент под байтом в большинстве случаев понимается именно 8 бит. Сложности возникают, когда байтов 1000 и больше. Во всем нормальном мире используются приставки:
- кило - 1000;
- мега - 1000 000;
И так далее. Но, программисты в массе своей уверены, что:
- килобайт = 1024 байт;
- мегабайт = 1 048 576 байт;
На самом деле, единицы измерения информации погрязли в путанице. Существует международная система единиц Си, которая утверждает, что:
- килобайт = 1000 байт;
- мегабайт = 1000 000 байт;
Международная электротехническая комиссия предлагает следующий вариант решения проблемы:
- килобайт = 1000 байт;
- мегабайт = 1000 000 байт;
но
- кибибайт = 1024 байт;
- мебибайт = 1 048 576 байт;
И, наконец, в "Положении о единицах величин, допускаемых к применению в Российской Федерации", подчеркивается, что "наименование и обозначение единицы количества информации «байт» (1 байт = 8 бит) применяются с двоичными приставками «Кило», «Мега», «Гига», которые соответствуют множителям 2^10, 2^20 и 2^30 (1 Кбайт = 1024 байт, 1 Мбайт = 1024 Кбайт, 1 Гбайт = 1024 Мбайт). Указанные приставки пишутся с заглавной буквы".
В общем, если вы слышите килобайт - это значит "приблизительно 1000 байт, не меньше" =)
Заключение
Надеюсь, вы прониклись уважению к битам, этим маленьким кирпичикам нашей цифровой эпохи. Биты окружают нас везде: воздух пронизан информационными волнами, которые улавливают наши мобильники, по проводам со скоростью света мы получаем новости со всех уголков планеты. И даже изображения далеких звезд и планет приходят к нам в виде битов. На карточку приходят зарплатные биты, в кинотеатрах мы любуемся видео-битами, слушая аудио-биты по пути на работу. И если все вокруг - биты, может быть мы и сами... немного того... битовые... кто знает?