Что такое системы счисления, основные виды
Система счисления — это способ записывать числа с помощью определённого набора символов и правил.
Его можно назвать языком чисел, с помощью которого любое количество можно записать, передать и посчитать.
Каждая система счисления состоит из алфавита цифр и основания — это число, которое показывает, сколько разных символов в ней используется. Например, в привычной десятичной системе основание равно 10, значит, есть десять цифр от 0 до 9. В двоичной их всего две (0 и 1), а в шестнадцатеричной — сразу шестнадцать (цифры от 0 до 9 и буквы A–F).
Все системы счисления условно делят на три большие группы.
- Непозиционные — значение числа не зависит от позиции символа. Например, в древнеегипетской системе счисления каждый знак обозначает определённое число и порядок символов не влияет на результат.
- Позиционные — значение цифры зависит от её места в записи. Так работает десятичная система: в ней каждая цифра показывает, сколько раз она повторяется на своём разряде, поэтому 570 и 507 будут обозначать разные числа.
- Смешанные — сочетают черты обоих типов. В измерении времени одним часом считается 60 минут, а не 100, как это было бы в десятичной.
Непозиционные системы счисления
Непозиционные системы счисления — это самые старые способы записывать числа.
В непозиционных системах счисления значение символа не зависит от его позиции.
Если знак обозначает «пять», то он всегда означает «пять» — в начале, середине или конце числа.
Такие системы появились задолго до изобретения нуля и существовали у разных народов: египтян, греков, римлян, славян. Они были удобны для записи небольших чисел и подсчётов товаров, но плохо подходили для сложных вычислений, потому что записи выглядели слишком громоздко.
Единичная система счисления
Самая простая и древняя система — единичная. Её использовали задолго до письменности: охотник мог просто чертить зарубки на кости, чтобы помнить, сколько зверей он поймал. Каждая черта обозначала одну единицу. Если человек убил трёх мамонтов — делал три зарубки. Именно от этой системы пошли наши привычные палочки для подсчёта.
Она понятна даже без объяснений: ||| — значит три, ||||| — пять. Такие записи находили на стоянках каменного века на костях и палках возрастом в десятки тысяч лет. Но у системы был очевидный минус: при больших числах запись превращалась в длинную вереницу символов. Число двадцать — это двадцать палочек, а тысячу подсчитать таким способом почти невозможно.
Древнеегипетская десятичная система
Египтяне сделали шаг вперёд. Они первыми попытались систематизировать запись чисел и придумали целую иерархию знаков. Их система была десятичной, как та, к которой мы привыкли, но оставалась непозиционной.
Вот как это выглядело:
- 1 — черта ( | );
- 10 — подкова или свёрнутый канат;
- 100 — спираль;
- 1 000 — цветок лотоса;
- 10 000 — палец;
- 100 000 — головастик;
- 1 000 000 — человек с поднятыми руками.
Если нужно было записать число 243, египтяне рисовали два знака сотни, четыре знака десятка и три знака единицы. Порядок знаков роли не играл, важным было лишь их количество. Это делало запись понятной и наглядной, но работать с ней было трудно: арифметика требовала много символов и времени. Тем не менее именно египетская система показала, как можно объединить простоту единичной записи с принципом группировки по десяткам.
Римская система счисления
Римская система появилась позже и стала одной из самых узнаваемых в истории. Её до сих пор используют для обозначения веков, глав в книгах и в маркировке делений на циферблате.
В римской системе каждая буква имела фиксированное значение: I — единица, V — пять, X — десять, L — пятьдесят, C — сто, D — пятьсот, M — тысяча.
Римляне добавили важное новшество — правило вычитания. Если меньший знак стоит перед большим, он вычитается. Так, IX означает девять (десять минус один), а XL — сорок (пятьдесят минус десять). Это правило немного сблизило римскую систему с позиционной, но лишь внешне. Порядок знаков всё равно не влиял на разряд, и потому умножение или деление с такими числами было очень сложным.
Греческая и славянская системы счисления
У греков и славян числа записывались буквами. Такие системы счисления называют алфавитными, когда каждый символ алфавита имеет своё числовое значение.
У древних греков первой буквой (α) обозначали единицу, второй (β) — двойку, третьей (γ) — тройку и так далее. Десятки и сотни тоже имели отдельные буквы, а чтобы показать, что речь идёт о числе, рядом ставили специальный знак — маленький штрих.
У славян принцип был похожим, только использовались буквы кириллицы. Чтобы не путать их с обычным текстом, над буквами ставили волнистую линию — титло. Например, запись Ѱ҃А означала число 701.
Эти системы были удобны для летописей и нумерации, ведь в одном тексте можно было использовать одни и те же буквы для слов и для чисел. Но, как и другие непозиционные системы, они плохо подходили для вычислений. Цифры-символы не позволяли выполнять арифметику быстро, и постепенно их вытеснила более гибкая позиционная запись.
Позиционные системы счисления
Позиционные системы — это шаг человечества от длинных рядов символов к лаконичным записям, которые мы используем сегодня.
Суть позицицонных систем счисления в том, что значение цифры зависит от её позиции в числе. Одна и та же цифра может иметь разные значения — всё определяется тем, где она стоит.
Например, в числе 505 цифра 5 слева означает пять сотен, а справа — пять единиц. Между ними стоит ноль, показывая, что десятков нет. Эта идея простая, но гениальная. Именно она позволила людям сократить записи чисел, придумать ноль и начать настоящую арифметику.
Зачатки позиционных систем появились в Вавилоне ещё во II тысячелетии до н. э. Их система была шестидесятеричной — её основанием было число 60. Позже подобные идеи распространились в Индии, где добавили понятие нуля, а уже от индийцев десятичную позиционную систему заимствовали страны Ближнего Востока, а затем и Европа.
Однородные позиционные системы счисления
Позиционные системы могут быть однородными и смешанными. В однородных всё просто: во всех разрядах используется одно и то же основание. Например, в нашей десятичной системе каждый следующий разряд — это число, которое умножили на 10.
Запись числа можно представить как сумму цифр, умноженных на степени основания. Например, число 325 = 3×102 + 2×101 + 5×100. Так работает не только десятичная, но и двоичная, восьмеричная или шестнадцатеричная система — просто у каждой своё основание: 2, 8 или 16.
Двоичная система счисления
Двоичная система — основа всей цифровой техники. Она базируется на двух символах: 0 и 1.
Это самая простая однородная система, и именно поэтому её используют для работы с компьютерами и другими механизмами. Электрический сигнал может быть только включён или выключен, ток идёт или нет — два состояния, два символа.
Каждая позиция в двоичном числе обозначает степень двойки. Например:
1011₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11₁₀.
Исторически идеи двоичной системы встречались задолго до компьютеров. Ещё в XVII веке немецкий философ и математик Готфрид Лейбниц писал трактат о её универсальности. Он считал, что с помощью нуля и единицы можно описать всё: числа, музыку, даже философские идеи. Но настоящую жизнь двоичная система получила в XX веке, когда началась эпоха вычислительной техники.
Восьмеричная система счисления
Восьмеричная система основана на числе 8 и использует цифры от 0 до 7.
Она долгое время применялась в программировании, особенно в ранних компьютерах. В таких машинах байты делились на группы по три бита и восьмеричная запись получалась удобной: каждое восьмеричное число точно соответствовало трём двоичным разрядам.
Например, двоичное 101011₂ равно восьмеричному 53₈, потому что
1 0 1 0112 → (101)(011) → (5)(3).
Сегодня восьмеричная система встречается реже, но всё ещё используется в некоторых областях программирования и в обозначениях прав доступа в операционных системах для компьютеров. Это связано с историей вычислительной техники: разные модели имели разную длину машинного слова — то есть количество бит, с которыми процессор работает как с единым целым. В одних моделях слово состояло из 12 бит, в других — из 24 или 36. Восьмеричная запись позволяла удобно группировать двоичные данные по три бита. Позже архитектура изменилась, но восьмеричная запись осталась в виде традиции.
Десятичная система счисления
Десятичная система — наша повседневная. Ей мы пользуемся автоматически, не задумываясь. Её основание — 10, цифры от 0 до 9.
Историки связывают её распространение с тем, что у человека десять пальцев — естественный инструмент для счёта.
Каждый разряд числа в десятичной системе — это степень десяти:
345 = 3×10² + 4×10¹ + 5×10⁰.
Десятичная система зародилась в Индии, где впервые ввели цифру ноль — символ, который показывает отсутствие значения, но сохраняет позицию. Это стало революцией: теперь можно было записывать большие числа коротко и выполнять сложные операции просто. Через арабских математиков индийская система попала в Европу и стала основной во всём мире.
Шестнадцатеричная система счисления
Шестнадцатеричная система — ещё одна родственница двоичной. Она основана на числе 16 и использует 16 символов: цифры 0–9 и буквы A–F (где A = 10, B = 11… F = 15).
Такое расширение алфавита нужно, чтобы записывать длинные двоичные числа компактно. Каждая шестнадцатеричная цифра соответствует ровно четырём битам.
Например:
11111111₂ = FF₁₆,
101010₁₆ = 101010₂ → это 42₁₀.
Шестнадцатеричная запись используется в программировании, веб-разработке и электронике, например в цветовых кодах (#FF0000 — красный, #00FF00 — зелёный, #0000FF — синий). Она объединяет удобство для человека и точность для машины: коротко, наглядно, универсально.
Смешанные системы счисления
Смешанные системы счисления объединяют черты позиционных и непозиционных систем. В них основание не одинаково для всех разрядов — каждый уровень может иметь своё количество единиц. Такие системы возникают там, где счёт исторически складывался не по строгим математическим правилам, а из практических нужд: измерения времени, углов, денег, веса.
Самый знакомый пример — система измерения времени. В ней всё устроено так:
- 1 минута = 60 секунд;
- 1 час = 60 минут;
- 1 сутки = 24 часа.
Основание здесь не постоянное: где-то 60, а где-то 24. Поэтому время нельзя назвать ни чисто позиционной, ни непозиционной системой. Когда мы видим «1:30», это значит «1 час и 30 минут», но переводить это напрямую в одну систему основанием 10 нельзя — придётся учитывать разные соотношения.
Другой пример — денежные системы прошлых веков. До введения десятичных валют во многих странах были свои правила пересчёта: например, в дореформенной России 1 рубль = 100 копеек — это позиционная система, но раньше 1 рубль = 10 алтын = 60 деньгам — уже смешанная.
Ещё один вид — счёт времени и дат в календарях. Год делится на 12 месяцев, месяцы — на 30 или 31 день (а февраль вообще 28 или 29), сутки — на 24 часа, часы — на 60 минут. Тут нет одного общего основания, но система всё равно позволяет точно измерять длительность и порядок событий.
Главное преимущество смешанных систем — они удобны для конкретных задач. Их структура отражает традиции и особенности повседневной жизни, а не стремление к математической идеальности. Однако именно непостоянство оснований делает их непригодными для вычислений. Невозможно просто применить одно правило для перевода между разрядами, поэтому для вычислений люди и машины используют однородные позиционные системы, а смешанные оставили для измерений, времени и быта.
Перевод систем счисления
Перевод чисел из одной системы счисления в другую — это способ записать одно и то же количество разными символами. Само число при этом не меняется, меняется лишь его форма записи.
Представьте, что вы переводите текст с одного языка на другой: смысл остаётся тем же, просто слова другие. Так и здесь: число 11 в десятичной системе и 1011 в двоичной обозначают одно и то же количество, только записаны они по разным правилам.
В быту мы почти всегда пользуемся десятичной системой. Но в программировании, электронике и математике часто приходится переключаться между системами. Компьютеры «думают» двоично, программисты читают данные в шестнадцатеричной форме, а человек обычно воспринимает числа в десятичной. Перевод между системами позволяет человеку и машине понимать друг друга: данные можно записывать удобно для вычислений и при этом легко читать.
Перевод из десятичной системы в любую другую
Чтобы перевести десятичное число в другую систему счисления, нужно последовательно делить его на основание новой системы, пока результат не станет равен нулю. Остатки от деления записывают в обратном порядке — от последнего к первому.
Пример: переведём число 45 из десятичной системы в двоичную:
- 45 ÷ 2 = 22, остаток 1;
- 22 ÷ 2 = 11, остаток 0;
- 11 ÷ 2 = 5, остаток 1;
- 5 ÷ 2 = 2, остаток 1;
- 2 ÷ 2 = 1, остаток 0;
- 1 ÷ 2 = 0, остаток 1.
Если записать остатки снизу вверх, получится 101101₂. Проверим: 32 + 8 + 4 + 1 = 45. Всё сходится. Тот же способ работает для перевода в восьмеричную или шестнадцатеричную систему — просто нужно делить на 8 или 16 и использовать буквы A–F для цифр от 10 до 15.
Перевод из двоичной, восьмеричной или шестнадцатеричной систем в десятичную
В обратную сторону переводить даже проще. Нужно разложить число по степеням основания и сложить все значения.
Пример: переведём 1101₂ в десятичную.
1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13₁₀.
Для шестнадцатеричной системы принцип тот же:
2F₁₆ = 2×16¹ + 15×16⁰ = 32 + 15 = 47₁₀.
Перевод между непозиционными и позиционными системами
Это редкая задача, потому что непозиционные системы вроде римской или египетской не подходят для арифметики. Но перевод возможен: нужно просто заменить символы их числовыми значениями и сложить.
Например, XIV = 10 + (5 − 1) = 14₁₀. А чтобы записать 14 обратно в римской системе, пишут те же знаки — XIV.
Таблица систем счисления
Чтобы представить разницу между системами счисления наглядно, удобно сравнить, как одно и то же число записывается в разных системах. Каждая из них использует своё основание и свой набор символов, но все они описывают одно и то же количество.
|
Десятичное число |
Двоичная система (основание 2) |
Восьмеричная система (основание 8) |
Шестнадцатеричная система (основание 16) |
|
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
|
2 |
10 |
2 |
2 |
|
3 |
11 |
3 |
3 |
|
4 |
100 |
4 |
4 |
|
5 |
101 |
5 |
5 |
|
6 |
110 |
6 |
6 |
|
7 |
111 |
7 |
7 |
|
8 |
1000 |
10 |
8 |
|
9 |
1001 |
11 |
9 |
|
10 |
1010 |
12 |
A |
|
11 |
1011 |
13 |
B |
|
12 |
1100 |
14 |
C |
|
13 |
1101 |
15 |
D |
|
14 |
1110 |
16 |
E |
|
15 |
1111 |
17 |
F |
|
16 |
10000 |
20 |
10 |
|
25 |
11001 |
31 |
19 |
|
45 |
101101 |
55 |
2D |
Из таблицы видно, как быстро увеличивается длина записи при переходе к системам с меньшим основанием. В двоичной системе даже небольшие числа превращаются в длинные цепочки нулей и единиц, зато всё предельно просто для вычислений. В шестнадцатеричной наоборот: запись короткая, но в ней появляются буквы, обозначающие цифры выше девяти.
Понимание этой взаимосвязи помогает видеть за цифрами не просто набор знаков, а универсальный язык чисел, который можно переводить из одной формы в другую.
Ответим на ваши вопросы
Свяжемся с вами в течение 5 минут и проведём бесплатную консультацию по вопросам перехода на домашнее обучение
Позвоним с 8 до 21 в рабочие дни