Когда речь заходит об IT и информатике, пользователям и разработчикам приходится иметь дело с разнообразными системами счисления. Они помогают отображать данные, а также вести запись чисел и символов на устройстве.
В данной статье будет рассказано о том, какие системы счисления существуют, для чего они необходимы, где применяются. Соответствующие темы обычно затрагиваются еще в школах – на уроках информатики в средних-старших классах. Поэтому каждый уважающий себя разработчик должен хорошо разбираться в обозначенном направлении.
Определение
Система счисления – это специальная система записи для выражения чисел. Математическое представление чисел заданного набора с использованием цифр и иных символов согласованным образом.
Совокупность правил записи чисел через символьно-цифирные конечные наборы. Одна и та же последовательность может быть представлена разными числами в различных системах «записи». Пример – 11 в десятичной системе, три – в двоичной, два – в унарной.
Значения и их особенности
Значение – это число, которое представляет та или иная цифра. Не все рассматриваемые компоненты могут работать со всеми числами, используемыми сегодня. Примеры – римские «значения». У них нет нуля.
Рассматриваемым компонент:
- представляет полезный набор чисел (примеры – целые, рациональные);
- дает уникальное представление каждому имеющемуся элементу;
- отражает алгебраические или арифметические структуры.
Без систем невозможна работа с компьютерами. Именно поэтому соответствующее направление требует отдельного внимания.
Виды
Существуют различные виды систем счисления:
- Непозиционные. В них значение не зависит от ее позиции.
- Позиционные. «Итог» зависит от того, где именно стоит тот или иной компонент.
- Однородные.
- Неоднородные.
Каждый вариант предусматривает свои ключевые особенности.
Позиционный тип
Здесь значение каждой цифры будет зависеть от ее разряда в числе. Пример – для человека привычна 10-я. Она является позиционной. 453 рассмотрено в виде примера. Тут 4 – это сотни, что указывает на 400, 5 – десятки (50), 3 – единицы (3). Чем больше разряд, тем выше окажется значение.
Непозиционный тип
Самый древний вариант. Каждый компонент – это отдельная величина. Она никак не зависит от разряда. В программировании не используется, поэтому рассматривать его более подробно не рекомендуется.
Однородный тип
Однородный вариант – это тот, в котором для всех позиций числа набор допустимых символов будет одинаковым. Пример – десятичная система. Для записи элемента можно использовать в каждом разряде только одну цифру. А именно – от 0 до 9. Запись 450 допускается (1-й разряд – 0, 2 – 5, 3-й – 4), а вот 4F5 – нет.
Смешанный тип
В нем в каждом разряде допускается разный набор других позиций. Пример – это измерение времени:
- в секундах – 60 символов;
- в часах – 24;
- в сутках – 365.
Теперь можно рассмотреть, какие системы встречаются в информатике чаще всего.
Десятичная
Самая распространенная. Это – часть позиционной системы счисления. Применяется в обыденной жизни повсеместно. Каждый разряд здесь – это только одна цифра. Диапазон составляет от 0 до 1 включительно. Основание системы счисления – 10.
Чтобы лучше понять принцип использования, стоит рассмотреть пример – 503. В непозиционной оно выглядело бы так: 5 + 0 + 3 = 8. В позиционной каждая цифра числа умножается на основание, возведенное в степень, равную номеру разряда.
Получается:
- 5*102;
- 0*101;
- 3*100.
Чтобы избежать путаницы, запись будет выглядеть так: 503=50310. Используется нижний индекс.
Двоичная
Двоичную систему счисления в основном используют устройства и компьютеры. Такое решение пришло из-за того, что 10-я требовала раньше огромных затрат. Это сказывалось на стоимости ЭВМ.
Пришлось создавать «урезанную» версию. Основание здесь – 2. Для записи используются символы:
- 0;
- 1.
Каждый разряд имеет только одно соответствующее значение. Пример 101. Это – десятичное 5. Для того, чтобы осуществить перевод из двоичной в 10-ю, требуется умножить цифру 2-го числа на 2. Возвести «двойку» в степень, равную разряду. Так 1012 будет:
- 1*22;
- 0*21;
- 1*20.
Получится: 4+0+1=510.
Для работы с кодами ЭВМ хранит для каждой отдельной цифры триггер. Это – электронная схема, принимающая два состояния. Одно – соответствует «нулю», другое – «единице».
Для того, чтобы запомнить отдельное число, применяется регистр – группа триггеров, количество которых соответствует количество разрядов в двоичном числе. А их совокупность – это оперативная память. Число, которое содержится в регистре, носит название машинного слова. Для получения доступа их нумеруют. Номер – адрес ячейки.
Восьмеричная
Восьмеричная система применяется в технике и гаджетах. В качестве основания выступает 8. Содержит для записи цифры в диапазоне от 0 до 7.
Пример – 254. Для того, чтобы перевести его в 10-ю, нужно каждый разряд исходного «компонента» умножить на 8n, где n – это количественный номер разряда. Получится: 2*82 + 5*81 + 4*80 = 128+40+4=17210.
Шестнадцатеричная система
Шестнадцатеричную систему счисления используют в современных компьютерах достаточно часто. Пример – с ее помощью можно задать цвет.
Она имеет основание 16. Для выражения чисел система использует числа 0-9, а также буквы A-F. Буквенные записи соответственно будут равны 10, 11, 12, 13, 14 и 15.
Чтобы лучше понимать принцип «работы» этой системы, стоит рассмотреть наглядный пример – 4F1516. Чтобы перевести его в 8-ю, нужно:
- Преобразовать число в двоичное.
- Разбить на группы по 3 разряда (элемента).
Для перевода в 2-е число каждая цифра представлена в виде 4- разрядного числа:
- 100
- 1111
- 101.
В первой и последней группах не хватает разряда. Они дополняются нулями: 0100 1111 0101. Это значение разделяется на группы по 3 компонента справа-налево. Получается 010 011 110 101.
Для того, чтобы увидеть результат, нужно перевести каждую двоичную группу в восьмеричную систему. Разряды умножаются на 2n, где n – это номер того или иного разряда. На выходе получится 23688.
Восьмеричную и шестнадцатеричную системы счисления активно изучают в школах на уроке информатики. Они не слишком нужны среднестатистическим пользователям, но пригодятся тем, кто планирует углубляться в программирование.
О преобразованиях
Работая с любой систе мой счисления, нужно понимать, как переводить число из одного «варианта» в другой. Эти навыки пригодятся каждому, кто планирует углубляться в IT.
В десятичную
Первый вариант – это любую «систему» привести к «десятичному виду». Тому, что привычен каждому пользователю.
Пусть будет дано число a1a2a3, где основание – это b. Тогда нужно каждый разряд умножить на bn. N выступит номером разряда. Формула перевода окажется: (a1a2a3)b=(a1*b2+a2*b1+a3*b0)10.
Из десятичной
Из десятичной системы счисления можно преобразовать число в любую другую. Здесь стоит разделить процесс на формирование дробной и целой частей. Иначе добиться желаемого результата не получится.
В случае с целой частью действовать необходимо так:
- Последовательно выполняется деление целой части на основание новой системы. Делается это до тех пор, пока число не станет нулем.
- Полученные остатки – это цифры искомого компонента.
- Запись осуществляется с последнего остатка до первого.
Дробная часть преобразуется так:
- Соответствующий элемент умножается на основание системы, в которую осуществляется перевод.
- Целая часть отделяется.
- Умножить дробную часть на основание новой. Делать это до тех пор, пока она не будет равна 0.
- Записать полученный результат умножения. Делается это в порядке, соответствующем получению.
Пример – 1510 при переводе в восьмеричную систему счисления – это 178. Получилось как: 15/8 = 1, остаток – 7, а также 1/8 = 0, остаток 1.
Из двоичной в восьмеричную и шестнадцатеричную
Для того, чтобы перевести 1 a (число) из двоичной в 8-ю систему, нужно:
- Разбить его на группы по 3 компонента справа-налево.
- Недостающие разряды дополнить ведущими нулями.
- Преобразовать каждую группу при помощи умножения разряда на 2n.
Аналогично действовать нужно с шестнадцатеричной системой, но делить компонент необходимо на группы по 4 элемента.
Из 8-ой и 16-ой в 2-ю
В случае с восьмеричной системой – каждый разряд числа преобразуется в 3-х разрядное двоичное путем деления на 2. Недостающие крайние разряды – это нули.
Шестнадцатеричная система предусматривает преобразование каждого разряда в двоичное 4-х компонентное. Сопровождается делением на 2. Недостающие крайние разряды – это нули.
Быстрое погружение в основы
Чтобы научиться работать в непозиционной системе счисления или любой другой, стоит углубиться в основы информатики. В этом помогут специализированные дистанционные онлайн курсы.
На них пользователя с нуля обучат основам информатики, программирования, дизайна и графики. Помогут освоить в кратчайшие сроки инновационные IT-профессии. В конце каждого курса пользователи получают официальные электронные сертификаты.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!