Официальный День Программиста

Свершилось.

“Министерством связи и массовых коммуникаций РФ подготовлен и внесен в правительство РФ проект указа президента России “О Дне программиста”, – из пресс-релиза Министерства связи и массовых коммуникаций РФ от 24 июля 2009.

“Неофициально «День программиста» отмечается в мире уже много лет на 256–й день каждого года. Число 256 выбрано потому, что это количество целых чисел, которое можно выразить с помощью одного восьмиразрядного байта и также это максимальная степень числа 2,которая меньше 365.”, – объясняется в сообщении.

“По итогам обсуждения было принято решение также определить «День программиста» в России на 256-й день года – 13 сентября, а если год високосный – 12 сентября.”

Жаль только, что “реализация предлагаемого Указа не потребует выделения дополнительных средств из федерального бюджета”. Ну да празднующим данное событие не привыкать – в своем кармане средства, вон, годами находили.

Для непонявших причем тут число 256 поясню.
Самый популярный способ кодирования информации заключается в представлении её как набора нулей и единиц. Если за равную единицу времени (скажем, секунду) в проводнике проходит ток, значит нам передают 1, если сигнала нет, – то 0. Хранится информация похожим образом: если в одном из миллиардов транзисторов в памяти заряда не хранится – там 0, если заряд есть – 1. Один 0 или 1 называется битом, от binary digit, числа имеющего два представления (число имеющее три представления по аналогии называется тритом). Для увеличения количества хранимой информации производители постоянно пытаются упихать как можно больше транзисторов в как можно меньший объем. С битами разобрались, а что с байтами?
Под влиянием появления и стремительным захватом рынка новой архитектурой под названием IBM360 (т.е. той компьютерной системы которой мы пользуемся сейчас, до её появления архитектур, в том числе и отечественных, было великое множество) исторически так сложилось, что для удобства работы с данными стали использоваться байты, хранящие в себе 8 бит, т.к. IBM360 использовала именно восьмибитные байты (а бывали они и шести- и девятибитными).
Путем банальных вычислений, представления себе логики вероятностей и проведения аналогий, которым учат еще в средней школе, можно представить себе сколько значений может принять один байт, содержащий в себе восемь бит. Так бит может принять два значения (0 или 1), два бита – четыре (00, 01, 10 и 11), три бита – восемь (000, 001, 010, 011, 100, 101, 110 и 111) и так далее. Уже можно увидеть, что количество принимаемых значений являет собой результат возведения двойки в степень количества битов. Так как в байте 8 битов, а 2 в 8 степени равна 256, то один байт может принять 256 различных значений. Потому число 256 является особым в среде программистов для платформы IBM360 (т.е. почти всех программистов) и даже важнее числа 1024, которое по исторической ошибке (“кило” означает “1000”, а вовсе не “1024”, для которой правильно будет “киби”, т.е. “бинарная тысяча”, см. ГОСТ 8.417-2003, Приложение А) увеличивает так спокойно воспринимаемые народом кило-, мега-, гига- и терабайты в тысяча двадцать четыре раза.

Что-то я расписался тут… Хотя если вам стало интересно – я могу более подробно осветить систему адресации памяти и вообще принципы работы с данными (разумеется, на низком уровне, как с ними на высоком работать вы и так в курсе, если тут сидите).

Официальный День Программиста: 7 комментариев

          1. Очередная опечатка – ты написал:
            Даль только, что “реализация предлагаемого Указа не потребует выделения дополнительных средств из федерального бюджета”. Ну да празднующим данное событие не привыкать – в своем кармане средства, вон, годами находили.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *