Если вы когда-нибудь пытались объяснить бабушке, почему компьютер не ест пельмени, а только «жует» нули и единички, то вы уже на полпути к пониманию систем счисления.
Ведь в основе кодирования информации лежит не что иное, как система счисления — своеобразный алфавит для чисел. Представьте себе: числа — это слова, а система счисления — язык, на котором они разговаривают. А знаете, что забавно? Эти языки бывают разные — как английский с французским, только для цифр.
Начнем с того, что системы бывают позиционные и непозиционные.
Если непозиционная система была бы человеком, она бы сказал: «Мне всё равно, где я стою в очереди! Я — X, и я всегда десять». Вот так работает римская система счисления. Там буква X всегда равна десяти — будь она в начале или конце числа XXXII (тридцать два).
Это как если бы ваша тетя Катя говорила вам: «Я тебе всегда десять рублей дам», вне зависимости от того, где вы стоите в очереди за пирожками.
А вот позиционные системы — это уже посложнее. Там значение цифры зависит от её места.
Представьте себе вечеринку: если гость стоит у дверей (справа), он приносит один подарок; если ближе к центру комнаты (слева), то уже десять подарков; а если вообще у стены — сотню! Чем левее цифра в числе, тем больше её вес.
Вот почему 123 — это не просто один плюс два плюс три, а 1×100 + 2×10 + 3×1.
Основание системы счисления – это количество символов или цифр в ней. Можно сказать так: основание – это размер вашей «цифровой семьи». В десятичной системе их ровно десять: от 0 до 9.
Это та самая система, которая пришла к нам из Индии ещё около VI века н. э., словно древний путешественник с мешком волшебных цифр.
Но вот вопрос: зачем нам столько разных систем?
Почему бы не жить спокойно в десятичной? Ответ прост: техника любит экономить место и силы! Например, двоичная система — это как детская игра «да-нет». Всего две цифры: 0 и 1.
Каждая позиция означает степень двойки — единицы, двойки, четвёрки и так далее. Компьютеры обожают этот язык за его простоту и надежность. Представьте себе диалог между двумя компьютерами:
— Ты там есть?
— Да!
— Ты тут?
— Нет!
Вот вам вся двоичная поэзия.
Восьмеричная система – следующий шаг по компактности. Она использует восемь цифр (0–7).
Если двоичный код напоминает длинную песню из одних ноток “до” и “ре”, то восьмеричный – это уже мелодия с аккордами по три ноты вместе (триадами). Переводить из двоичной системы в восьмеричную – всё равно что разбивать длинный рассказ на короткие абзацы по три предложения.
А если хочется ещё короче – встречайте шестнадцатеричную систему!
Тут к привычным цифрам добавляются буквы A-F (от английских слов Apple до Fig). Это как если бы ваши числа пошли учиться английскому алфавиту для расширения кругозора и экономии места на бумаге или экране компьютера. Цифра F здесь равна пятнадцати — почти как пятнадцать котов у соседа (а кто-то говорит «кошмар!»).
Переводы между этими системами похожи на путешествия между странами с разными алфавитами: чтобы понять друг друга без переводчика (компьютера), нужно знать пару хитрых правил.
А теперь представьте аналоговую информацию – непрерывные сигналы вроде музыки или голоса вашего любимого певца по радио.
Тут значения могут принимать бесконечно много оттенков – как краски на палитре художника или настроения после трёх чашек кофе подряд.