Когда речь заходит об IT и информатике, пользователям и разработчикам приходится иметь дело с разнообразными системами счисления. Они помогают отображать данные, а также вести запись чисел и символов на устройстве.

В данной статье будет рассказано о том, какие системы счисления существуют, для чего они необходимы, где применяются. Соответствующие темы обычно затрагиваются еще в школах – на уроках информатики в средних-старших классах. Поэтому каждый уважающий себя разработчик должен хорошо разбираться в обозначенном направлении.

Определение

Система счисления – это специальная система записи для выражения чисел. Математическое представление чисел заданного набора с использованием цифр и иных символов согласованным образом.

Совокупность правил записи чисел через символьно-цифирные конечные наборы. Одна и та же последовательность может быть представлена разными числами в различных системах «записи». Пример – 11 в десятичной системе, три – в двоичной, два – в унарной.

Значения и их особенности

Значение – это число, которое представляет та или иная цифра. Не все рассматриваемые компоненты могут работать со всеми числами, используемыми сегодня. Примеры – римские «значения». У них нет нуля.

Рассматриваемым компонент:

  • представляет полезный набор чисел (примеры – целые, рациональные);
  • дает уникальное представление каждому имеющемуся элементу;
  • отражает алгебраические или арифметические структуры.

Без систем невозможна работа с компьютерами. Именно поэтому соответствующее направление требует отдельного внимания.

Виды

Существуют различные виды систем счисления:

  1. Непозиционные. В них значение не зависит от ее позиции.
  2. Позиционные. «Итог» зависит от того, где именно стоит тот или иной компонент.
  3. Однородные.
  4. Неоднородные.

Каждый вариант предусматривает свои ключевые особенности.

Позиционный тип

Здесь значение каждой цифры будет зависеть от ее разряда в числе. Пример – для человека привычна 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-ю, нужно:

  1. Преобразовать число в двоичное.
  2. Разбить на группы по 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.

Из десятичной

Из десятичной системы счисления можно преобразовать число в любую другую. Здесь стоит разделить процесс на формирование дробной и целой частей. Иначе добиться желаемого результата не получится.

В случае с целой частью действовать необходимо так:

  1. Последовательно выполняется деление целой части на основание новой системы. Делается это до тех пор, пока число не станет нулем.
  2. Полученные остатки – это цифры искомого компонента.
  3. Запись осуществляется с последнего остатка до первого.

Дробная часть преобразуется так:

  1. Соответствующий элемент умножается на основание системы, в которую осуществляется перевод.
  2. Целая часть отделяется.
  3. Умножить дробную часть на основание новой. Делать это до тех пор, пока она не будет равна 0.
  4. Записать полученный результат умножения. Делается это в порядке, соответствующем получению.

Пример – 1510 при переводе в восьмеричную систему счисления – это 178. Получилось как: 15/8 = 1, остаток – 7, а также 1/8 = 0, остаток 1.

Из двоичной в восьмеричную и шестнадцатеричную

Для того, чтобы перевести 1 a (число) из двоичной в 8-ю систему, нужно:

  1. Разбить его на группы по 3 компонента справа-налево.
  2. Недостающие разряды дополнить ведущими нулями.
  3. Преобразовать каждую группу при помощи умножения разряда на 2n.

Аналогично действовать нужно с шестнадцатеричной системой, но делить компонент необходимо на группы по 4 элемента.

Из 8-ой и 16-ой в 2-ю

В случае с восьмеричной системой – каждый разряд числа преобразуется в 3-х разрядное двоичное путем деления на 2. Недостающие крайние разряды – это нули.

Шестнадцатеричная система предусматривает преобразование каждого разряда в двоичное 4-х компонентное. Сопровождается делением на 2. Недостающие крайние разряды – это нули.

Быстрое погружение в основы

Чтобы научиться работать в непозиционной системе счисления или любой другой, стоит углубиться в основы информатики. В этом помогут специализированные дистанционные онлайн курсы.

На них пользователя с нуля обучат основам информатики, программирования, дизайна и графики. Помогут освоить в кратчайшие сроки инновационные IT-профессии. В конце каждого курса пользователи получают официальные электронные сертификаты.

Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!