среда, 14 ноября 2018 г.

Биты, байты и китайская информатика

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 и больше. 
Во всем нормальном мире используются приставки:
  1. кило - 1000;
  2. мега - 1000 000;
И так далее. Но, программисты в массе своей уверены, что:
  1. килобайт = 1024 байт;
  2. мегабайт = 1 048 576 байт;
На самом деле, единицы измерения информации погрязли в путанице. Существует международная система единиц Си, которая утверждает, что:
  1. килобайт = 1000 байт;
  2. мегабайт = 1000 000 байт;
Международная электротехническая комиссия предлагает следующий вариант решения проблемы:
  1. килобайт = 1000 байт;
  2. мегабайт = 1000 000 байт;
но
  1. кибибайт = 1024 байт;
  2. мебибайт = 1 048 576 байт;
И, наконец, в "Положении о единицах величин, допускаемых к применению в Российской Федерации", подчеркивается, что "наименование и обозначение единицы количества информации «байт» (1 байт = 8 бит) применяются с двоичными приставками «Кило», «Мега», «Гига», которые соответствуют множителям 210, 220 и 230 (1 Кбайт = 1024 байт, 1 Мбайт = 1024 Кбайт, 1 Гбайт = 1024 Мбайт). Указанные приставки пишутся с заглавной буквы".

В общем, если вы слышите килобайт - это значит "приблизительно 1000 байт, не меньше" =)
Заключение
Надеюсь, вы прониклись уважению к битам, этим маленьким кирпичикам нашей цифровой эпохи. Биты окружают нас везде: воздух пронизан информационными волнами, которые улавливают наши мобильники, по проводам со скоростью света мы получаем новости со всех уголков планеты. И даже изображения далеких звезд и планет приходят к нам в виде битов.  На карточку приходят зарплатные биты, в кинотеатрах мы любуемся видео-битами, слушая аудио-биты по пути на работу. И если все вокруг - биты, может быть мы и сами... немного того... битовые... кто знает?


Комментариев нет:

Отправить комментарий