Перейти к основному содержанию
BeginPC.ru

Компьютер для новичков и не только

sistema schisleniya

В настоящее время подавляющее число людей являются грамотными и умеют считать. Тем не менее, далеко не все в курсе, что за время человеческой цивилизации было придумано большое количество самых разнообразных систем счисления. Разные народы в различные исторические периоды использовали разные системы счета, которые видоизменялись с течением времени.

Считается, что самая первая система счета у всех народов состояла всего из одного числа, единицы. Соответственно для обозначения, какого то другого числа ее следовало повторить соответствующее количество раз. В качестве обозначения могло выступать что угодно, черточки, крестики и любые другие символы. Отсутствие письменности тоже не помеха, ведь можно использовать камешки, ракушки, плоды, веточки, делать зарубки, вязать узелки и так далее.

Таким образом, для записи числа 4 требовалось собрать 4 камешка или поставить 4 черточки: ||||. Это так называемая единичная система счисления, из которой впоследствии сформировались остальные. Все предельно просто, но очень не удобно для более менее больших чисел. Через какое то время люди догадались упростить запись, объединяя какое то количество элементов в группы и обозначая их другим символом. Чаще всего встречалась группировка по 3 и 5 элементов.

Таким образом, если договориться, что черные камни обозначают единицы, а один белый камень равен 3 черным, то для обозначения допустим 8 чужаков надо показать ●●●●●●●● черных камней или белый и ●●●●● черных или ○○ белых и ●● черных. Любая из этих комбинаций обозначает в нашей условной системе число 8. Такой прием, конечно, заметно упрощал счет. Впоследствии многие народы использовали в качестве обозначения чисел буквы своего алфавита.

Римская система счисления

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

  • 1 — I
  • 5 — V
  • 10 — X
  • 50 — L
  • 100 — C
  • 500 — D
  • 1000 — M

Все остальные числа получаются их комбинацией в соответствии с определенными правилами, причем 0 в римской системе отсутствует. Хотя сейчас правила довольно вольные и существует множество вариантов их трактовки отличающиеся различной степенью строгости. Мы не будем их расписывать, желающие могут найти их самостоятельно. Приведем лишь несколько примеров записи чисел в римской системе счисления.

  • II — 2
  • IV — 4
  • XVI — 16
  • XXIII — 23
  • XLVIII — 48

Десятичная система счисления

Однако сейчас нам привычна система счисления основанная на цифрах от 1 до 9 и 0, это так называемые арабские цифры, хотя с исторической точки зрения это не совсем так. В итоге получается 10 цифр, поэтому она называется десятичной системой счисления с основанием системы равным 10. Считается, что она обязана своему появлению количеству пальцев на руках, что сильно упрощало жизнь. Ее особенностью является то, что в зависимости от местоположения цифры в числе меняется ее значение. Например, в числе 152 цифра 5 имеет значение 50, поскольку стоит в разряде десятков, а цифра 1 имеет значение 100 так как обозначает сотни. Это так называемая позиционная система счисления.

Так же существуют непозиционные системы, где значение цифр не зависит от их места в числе, а так же смешанные системы. Примером непозиционной системы может служить единичная система счета и с некоторой оговоркой римская.

Впрочем, еще относительно недавно в историческом масштабе, вплоть до конца XVIII века на Руси применялась пятеричная система, в которой были только цифры 0, 1, 2, 3, 4 и вытесненная из обихода современной десятичной.

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

Двоичная система счисления

Почти все электронные вычислительные устройства, в том числе компьютеры используют вовсе не привычную для нас десятичную, а двоичную систему счисления, где основанием системы является 2. В ее основе лежит использование всего двух чисел 0 и 1. Это очень удобно для электронных устройств в силу технических причин, поскольку соответствует всего двум состояниям включено (1) и выключено (0) или высокий и низкий сигнал или «истина» и «ложь» и так далее. Наличие всего двух состояний упрощает техническую реализацию, повышает надежность работы, уменьшает габариты и обеспечивает высокую помехоустойчивость цифровых схем, в сравнение с аналоговыми.

В итоге любые числа представлены в виде комбинаций нулей и единиц. Например, число 4 в двоичной системе счисления записывается как 100, но читается каждый символ в отдельности, то есть «один ноль ноль». Это может запутать, поскольку запись числа 4 в двоичной системе счисления внешне не отличается от числа 100 из десятичной. В некоторых ситуациях из-за этого может возникнуть путаница. В таких случаях справа от числа подстрочным шрифтом принято указывать систему счисления, к которой относится данной число в десятичном формате. Числа из нашего примера можно записать следующим образом 410 и соответственно 1002. Так же встречается вариант указания перед двоичным числом префиксов 0b или &, то есть 0b100 или &100.

Чтобы перевести десятичное число в двоичное, можно воспользоваться калькулятором расположенным ниже или применить метод Горнера. Для этого нужно десятичное число последовательно делить на основание системы, в данном случае 2. Если результат получается с остатком, то остаток отбрасываем, пишем 1 и снова делим на 2. Если результат получается без остатка, то пишем 0 и снова делим на 2. Запись нулей и единиц осуществляется справа налево, а деление продолжается пока в частном не получится ноль. Рассмотрим это на примере и преобразуем число 1110 в двоичный вид.

11/2=5 остаток 1
5/2=2 остаток 1
2/2=1 остаток 0
1/2=0 остаток 1

В частном получился ноль, осталось записать получившиеся цифры справа налево от первой к последней и в итоге получаем, что 1110=10112

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

Дано: &1011
1+0*2=1 (на первом шаге предыдущая сумма отсутствует, поэтому 0*2 )
0+1*2=2
1+2*2=5
1+5*2=11
Результат: 1110

Чтобы окончательно вас запутать, стоит упомянуть, что для записи чисел может применяться двоичный код, а система счета при этом использоваться десятичная. Такая комбинация называется двоично-десятичное кодирование и так же находит применение в вычислительной технике.

Шестнадцатеричная система счисления

Неудобством двоичных чисел является их громоздкость и трудность визуального восприятия человеком. Поэтому для представления двоичного кода в информатике широко используется шестнадцатеричная система счисления. Как вы уже наверно догадались, в ней используется шестнадцать символов, цифры от 0 до 9 и латинские буквы A, B, C, D, E, F соответствующие числам от 10 до 15 в десятичной системе. Шестнадцатеричное число может обозначаться словом hex.

Благодаря основанию системы равному 16 для записи 1 байта требуется всего 2 цифры в этой системе, для символов юникода требуется 4 шестнадцатеричных числа (иногда больше). Может использоваться для обозначения цветов в цветовой модели RGB, в програмировании, записи адресов IPv6, представления MAC-адреса сетевого оборудования, кодов ошибок операционных систем, записи хешей,  и так далее.

Чтобы перевести десятичное число в шестнадцатеричное используйте онлайн калькулятор систем счисления в конце статьи или воспользуйтесь алгоритмом, приведенным в примере с двоичной системой. Для примера пересчитаем число 38210

382/16=23 остаток 14, пишем E
23/16=1 остаток 7, пишем 7
1/16=0 остаток 1, пишем 1
Результат: 17E16=38210

Чтобы пересчитать шестнадцатеричное число в десятичное, нужно разбить его на разряды и цифру каждого разряда умножить на 16 в степени соответствующего разряда и сложить получившиеся числа. Проще понять на примере, для этого выполним обратную операцию: 17E16=1*162+7*161+14*160=1*256+7*16+14*1=38210

Кроме рассмотренных систем существует и большое количество позиционных систем счисления с другими основаниями. Так в компьютерах одно время использовалась система с основанием 8, а такая древняя система счисления как шестидесятеричная, используется и в наше время для обозначения времени, координат и углов.

Калькулятор систем счисления

Работает только с целыми положительными числами.

Перевести число
из
в