Система счисления — это формальный способ записи чисел с использованием ограниченного набора символов и фиксированных правил. Любое число представляется последовательностью цифр, каждая из которых выбирается из алфавита системы и имеет определенный вес в зависимости от позиции.
Базовые элементы системы счисления:
-
основание — количество различных цифр;
-
алфавит — набор допустимых символов;
-
правила записи — порядок расположения цифр, способ формирования значения;
-
правила операций — алгоритмы сложения, вычитания, умножения и деления.
Исторически первые системы счисления были непозиционными: числа представлялись повторением одинаковых символов или их комбинаций. Развитие торговли, учета и астрономии привело к появлению позиционных систем, где значение цифры зависит от разряда. Это резко упростило вычисления и сократило длину записей.
В современных вычислительных системах системы счисления используются на всех уровнях: от физического представления сигналов в памяти до форматов хранения данных и сетевых протоколов. Бинарная запись определяет работу логики процессоров, шестнадцатеричная облегчает анализ и отладку, десятичная остается основной в читаемых интерфейсах.
Виды систем счисления
В информатике применяются преимущественно позиционные системы на основе степеней числа 2. На практике используются несколько базовых вариантов, каждый из которых оптимален для своей задачи.
Десятичная система (основание 10)
Десятичная система счисления использует десять цифр: 0–9. Значение числа определяется суммой произведений цифр на степени 10. Например, 472 = 4·10² + 7·10¹ + 2·10⁰.
Ключевые характеристики:
-
естественная для человека система;
-
применяется в финансовых расчетах и бизнес-логике;
-
является интерфейсным уровнем для большинства пользовательских систем.
Большинство высокоуровневых языков по умолчанию трактуют числовые литералы как десятичные, если не указан иной префикс.
Двоичная система (основание 2)
Двоичная система использует две цифры: 0 и 1. Каждая позиция соответствует степени числа 2. Например, 1011₂ = 1·2³ + 0·2² + 1·2¹ + 1·2⁰ = 11₁₀.
Основные свойства:
-
естественная связь с физическими состояниями электронных схем (есть сигнал / нет сигнала);
-
минимизация ошибок интерпретации и помех;
-
непосредственное использование в машинном коде, логических операциях, битовых масках.
Все данные в цифровых устройствах в конечном итоге приводятся к двоичному представлению — независимо от типа и формата.
Восьмеричная система (основание 8)
В восьмеричной системе используются цифры 0–7. Каждая позиция — степень числа 8. Например, 157₈ = 1·8² + 5·8¹ + 7·8⁰.
Практическое применение:
-
сокращенная запись двоичных чисел (3 бита = 1 восьмеричная цифра);
-
исторически использовалась в архитектурах с разрядностью, кратной 3;
-
встречается в обозначении прав доступа в некоторых операционных системах (например, записи вида 0755).
В современных системах восьмеричная запись применяется реже, но остается полезной при работе с низкоуровневыми ресурсами.
Шестнадцатеричная система (основание 16)
Шестнадцатеричная система использует цифры 0–9 и буквы A–F для обозначения значений от 10 до 15. Каждая позиция — степень числа 16. Например, 3A₁₆ = 3·16¹ + 10·16⁰ = 58₁₀.
Области применения:
-
компактная запись двоичных данных (4 бита = 1 шестнадцатеричная цифра);
-
представление цветов в веб-разметке (формат HEX: #RRGGBB);
-
отображение адресов памяти, машинных кодов, контрольных сумм;
-
документирование протоколов, форматов файлов и структур данных.
Шестнадцатеричная система удобна тем, что сохраняет прямую связь с двоичными данными и остается визуально компактной.
Перевод между системами счисления
Перевод чисел между системами счисления основан на двух базовых приемах: представлении числа через сумму разрядов и последовательном делении на новое основание. На практике используются стандартные алгоритмы, хорошо формализованные и легко реализуемые программно.
Перевод из десятичной системы в систему с основанием b
Алгоритм для целых неотрицательных чисел:
-
Выбрать основание b (например, 2, 8 или 16).
-
Последовательно делить число на b с получением целой части и остатка.
-
Записывать остатки от каждого деления.
-
Продолжать, пока целая часть не станет равной нулю.
-
Прочитать остатки в обратном порядке — это и будет искомое число в системе с основанием b.
Для дробной части применяется умножение на b с фиксацией целой части результата:
-
дробную часть умножают на b;
-
целая часть произведения становится очередной цифрой;
-
новая дробная часть снова умножается на b;
-
процесс продолжается до достижения нужной точности.
Алгоритм легко автоматизируется и используется во внутренних реализациях конвертирующих функций.
Перевод из произвольной системы в десятичную
Для числа, записанного в системе с основанием b, используется формула разложения по степеням основания. Если есть число с цифрами dₙ…d₂d₁d₀, где d₀ — младший разряд, то:
N = d₀·b⁰ + d₁·b¹ + … + dₙ·bⁿ.
Порядок действий:
-
пронумеровать разряды, начиная с нуля справа;
-
для каждой цифры вычислить произведение dᵢ·bⁱ;
-
сложить все произведения, получив десятичное значение.
Для дробной части используются отрицательные степени основания: b⁻¹, b⁻² и так далее.
Прямой перевод между двоичной, восьмеричной и шестнадцатеричной системами
Между этими системами удобны прямые преобразования без промежуточного перехода через десятичную систему. Причина — связь оснований со степенями числа 2.
Стандартные приемы:
-
для перевода двоичного числа в восьмеричное разбиение выполняется по группам по 3 бита, начиная справа;
-
для перевода в шестнадцатеричную систему — по группам по 4 бита;
-
при необходимости слева добавляются ведущие нули, чтобы каждая группа была полной;
-
каждая группа заменяется на одну восьмеричную или шестнадцатеричную цифру по таблице соответствий.
Такой подход широко используется при анализе машинных кодов и структур протоколов.
Особенности записи и представления чисел
В позиционных системах счисления числа описываются через разряды и веса разрядов. В компьютерных архитектурах представление чисел накладывает дополнительные ограничения, связанные с длиной слова, форматом хранения и требуемой точностью.
Ключевые особенности:
-
фиксированная разрядность: число хранится в N битах, что ограничивает диапазон возможных значений;
-
знаковые и беззнаковые форматы: часть диапазона отводится под отрицательные значения (например, дополнение до двух);
-
представление дробных чисел: используется фиксированная точка или плавающая точка;
-
округление и переполнение: результат операций может выходить за границы диапазона или требовать потери точности.
Часто используются следующие модели:
-
целые числа в двоичном коде с фиксированной длиной (8, 16, 32, 64 бит);
-
числа с плавающей точкой, реализующие представление мантиссы и порядка в двоичной системе;
-
специальные значения для представления бесконечностей и ошибок вычислений.
Ограничения представления напрямую связаны с выбранной системой счисления и форматом. Например, одно и то же десятичное значение может не иметь точного двоичного представления в формате с плавающей точкой, что приводит к типичным эффектам неточной арифметики.
При проектировании алгоритмов учитываются:
-
диапазоны допустимых значений;
-
цена перехода к более длинным типам;
-
влияние выбора системы счисления и формата на производительность и объем памяти.
Значение систем счисления в программировании
Системы счисления являются фундаментом для большинства технических решений в программировании. Они определяют способы записи констант, взаимодействие с памятью и интерпретацию бинарных данных.
Основные области применения:
-
языки программирования: поддержка литералов в разных системах (двоичной, восьмеричной, шестнадцатеричной);
-
адресация памяти: представление адресов и смещений в шестнадцатеричном виде для удобства анализа;
-
битовые операции: использование двоичных и шестнадцатеричных масок для работы с флагами и полями;
-
форматы данных: кодирование числовых полей в протоколах и бинарных файлах;
-
отладка и профилирование: анализ дампов памяти, регистров и машинных инструкций.
Типичные практики:
-
представление флагов и наборов опций через битовые поля;
-
использование шестнадцатеричной записи для чтения и записи байтовых последовательностей;
-
работа с сетевыми адресами и портами, где часть данных может интерпретироваться в разных системах счисления.
Знание принципов работы систем счисления позволяет корректно интерпретировать низкоуровневые данные, избегать ошибок при преобразованиях и уверенно работать с инфраструктурными компонентами.
Исторические и нестандартные системы счисления
Помимо широко используемых систем существует большое количество исторических и специализированных вариантов, отражающих потребности конкретных культур или задач.
Примеры исторических систем:
-
шестидесятеричная система древней Месопотамии, сохранившаяся в измерении времени и углов (60 секунд, 60 минут, 360 градусов);
-
римская буквенная система, где числа записывались символами I, V, X, L, C, D, M и их комбинациями;
-
древнеегипетские непозиционные системы, в которых для разных разрядов применялись отдельные символы.
Нестандартные и теоретические системы:
-
троичная и сбалансированная троичная системы, используемые в исследованиях по теории вычислений и моделированию альтернативных архитектур;
-
факториальная система счисления, где веса разрядов основаны на факториалах и применяются в комбинаторных задачах;
-
остаточные системы счисления, использующие набор модулей и облегчающие параллельную обработку некоторых видов вычислений.
Такие системы демонстрируют, что основание и форма записи чисел — не универсальная константа, а инструмент, который выбирается под конкретный класс задач.
Ресурсы для изучения систем счисления
Для углубления понимания систем счисления используются как теоретические, так и практико-ориентированные материалы. Рационально сочетать формальное изложение с решением задач и работой с интерактивными инструментами.
Полезные направления:
-
учебные пособия по дискретной математике и теории алгоритмов;
-
материалы по архитектуре компьютеров и организации вычислительных систем;
-
справочники по языкам программирования, описывающие форматы числовых литералов и правила преобразования типов;
-
техническая документация по протоколам и форматам данных, где явно задаются системы счисления для полей.
Практические инструменты:
-
онлайн-конвертеры чисел между разными системами счисления;
-
интерактивные тренажеры, проверяющие умение выполнять переводы вручную;
-
калькуляторы для анализа битовых масок, сдвигов и логических операций;
-
среды отладки, позволяющие переключать представление чисел (двоичное, десятичное, шестнадцатеричное).
Системы счисления остаются базовым понятием для любой ИТ-специализации. Корректная работа с ними обеспечивает предсказуемое поведение программ, надежность хранения данных и прозрачность взаимодействия между компонентами цифровых систем.
<!DOCTYPE html>
<html class="h-100" data-bs-theme="light" data-mantine-color-scheme="light" lang="ru" prefix="og: https://ogp.me/ns#">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link crossorigin="true" href="https://cdn.hexlet.io" rel="preconnect">
<link href="https://mc.yandex.ru" rel="preconnect">
<meta content="aa2vrdtq64dub8knuf83lwywit311w" name="facebook-domain-verification">
<link href="/favicon.ico" rel="icon" sizes="any">
<link href="/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/manifest.webmanifest" rel="manifest">
<script>
//<![CDATA[
window.gon={};gon.ym_counter="25559621";gon.is_bot=true;gon.applications={};gon.current_user={"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26 22:41:40 UTC","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false};gon.token="4VjP6VRskuUFEjVW7S4PqQtYSkBQ7XoecrWzwXyORLsOiQTephI_hbNREc7hIf_ey1Fn6ljahLzPVSmVLomj1Q";gon.locale="ru";gon.language="ru";gon.theme="light";gon.rails_env="production";gon.mobile=false;gon.google={"analytics_key":"UA-1360700-51","optimize_key":"GTM-5QDVFPF"};gon.captcha={"google_v3_site_key":"6LenGbgZAAAAAM7HbrDbn5JlizCSzPcS767c9vaY","yandex_site_key":"ysc1_Vyob5ZPPUdPBsu0ykt8bVFdzsfpoVjQChLGl2b4g19647a89","verification_failed":null};gon.social_signin=false;gon.typoreporter_google_form_id="1FAIpQLSeibfGq-KvWQ2Fyru-zkFFRVTLBuzXAHAoEyN1p49FtDmNoNA";
//]]>
</script>
<meta charset="utf-8">
<title>Что такое Система счисления? — Q&A Хекслет</title>
<meta name="description" content="1 ответ на вопрос, что такое Система счисления простыми словами? Глоссарий Хекслета.">
<link rel="canonical" href="https://ru.hexlet.io/qna/glossary/questions/sistema-schisleniya">
<meta property="og:description" content="1 ответ
на вопрос, что такое Система счисления простыми словами? Глоссарий Хекслета.">
<meta property="og:title" content="Что такое Система счисления? — Q&A Хекслет">
<meta property="og:url" content="https://ru.hexlet.io/qna/glossary/questions/sistema-schisleniya">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="lwvNQSqF-5HYebBMeinD8MpljS62-ZJrLi0VAtdT25Z42gZ22PtW8W46lNR2JjOHCmyghL7ObMmTzY9WhVQ8-A" />
<script src="/vite/assets/inertia-DfXos102.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/preload-helper-BJ4cLWpC.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-BrRXra1y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ahoy-DrlRQ-1D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/analytics-cb8xch9l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Surface-DL2bpZA-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/extends-C-EagtpE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/inheritsLoose-BBd-DCVI.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/objectWithoutPropertiesLoose-DRHXDhjp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/index.esm-DAqKOkZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Button-CGPUux8l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/CloseButton-D1euiPao.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Group-BX48WcuU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Loader-BQEY8g6v.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Modal-Cy3HByv7.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/OptionalPortal-1Hza5P2w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Stack-CtjJzfw4.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Textarea-Ck64llAy.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/DirectionProvider-Dc9zdUke.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/events-DJQOhap0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-reduced-motion-D2owz4wa.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-disclosure-zKtK5W1r.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-hotkeys-Cnc_Rwkb.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/random-id-DOQyszCZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/exports-C_MrNx_T.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<link rel="stylesheet" href="/vite/assets/application-BqhCP46M.js" />
<script src="/vite/assets/application-Df9RExpe.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/autocomplete-VMNbxKGl.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/createPopper-C3aM9r1M.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/js.cookie-D1-O8zkX.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="/vite/assets/application-C8HjmMaq.css" media="screen" />
<script>
window.ym = function(){(ym.a=ym.a||[]).push(arguments)};
window.addEventListener('load', function() {
setTimeout(function() {
ym.l = 1*new Date();
ym(window.gon.ym_counter, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
// Загружаем скрипт
var k = document.createElement('script');
k.async = 1;
k.src = 'https://mc.yandex.ru/metrika/tag.js';
document.head.appendChild(k);
ym(window.gon.ym_counter, 'getClientID', function(clientID) {
window.ymClientId = clientID;
});
}, 1500);
});
</script>
<!-- Google Tag Manager - deferred -->
<script>
// dataLayer stub сразу — пуши работают до загрузки скрипта
window.dataLayer = window.dataLayer || [];
// Сам скрипт — отложенно после load
window.addEventListener('load', function() {
setTimeout(function() {
dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var j = document.createElement('script');
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-WK88TH';
document.head.appendChild(j);
}, 1500);
});
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<noscript>
<div>
<img alt="" src="https://mc.yandex.ru/watch/25559621" style="position:absolute; left:-9999px;">
</div>
</noscript>
<header class="sticky-top bg-body">
<nav class="navbar navbar-expand-lg">
<div class="container-xxl">
<a class="navbar-brand" href="/"><img alt="Логотип Хекслета" height="24" src="https://ru.hexlet.io/vite/assets/logo_ru_light-BpiEA1LT.svg" width="96">
</a><button aria-controls="collapsable" aria-expanded="false" aria-label="Меню" class="navbar-toggler border-0 mb-0 mt-1" data-bs-target="#collapsable" data-bs-toggle="collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsable">
<ul class="navbar-nav mb-lg-0 mt-lg-1">
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
Все курсы
<span class="bi bi-chevron-down align-middle ms-1"></span>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item d-flex py-2" href="/courses"><div class="fw-bold me-auto">Все что есть</div>
<div class="text-muted">117</div>
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные категории</b>
</li>
<li>
<a class="dropdown-item py-2" href="/courses_devops">Курсы по DevOps
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_data_analytics">Курсы по аналитике данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_programming">Курсы по программированию
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_testing">Курсы по тестированию
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные курсы</b>
</li>
<li>
<a class="dropdown-item py-2" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/go">Go-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/java">Java-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/python">Python-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/qa-auto-engineer-java">Автоматизатор тестирования на Java
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/data-analytics">Аналитик данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/frontend">Фронтенд-разработчик
</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
О Хекслете
<span class="bi bi-chevron-down align-middle"></span>
</button>
<ul class="dropdown-menu bg-body">
<li>
<a class="dropdown-item py-2" href="/pages/about">О нас
</a></li>
<li>
<a class="dropdown-item py-2" href="/blog">Блог
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/hse-research" role="button">Результаты (Исследование)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://career.hexlet.io" role="button">Хекслет Карьера
</span></li>
<li>
<a class="dropdown-item py-2" href="/testimonials">Отзывы студентов
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://t.me/hexlet_help_bot" role="button">Поддержка (В ТГ)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/referal-program/?promo_creative=priglasite-druzei&promo_name=referal-program&promo_position=promo_position&promo_start=010724&promo_type=link" role="button">Реферальная программа
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/certificate" role="button">Подарочные сертификаты
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://hh.ru/employer/4307094" role="button">Вакансии
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://b2b.hexlet.io" data-target="_blank" role="button">Компаниям
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexly.ru/" data-target="_blank" role="button">Колледж
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexlyschool.ru/" data-target="_blank" role="button">Частная школа
</span></li>
</ul>
</li>
<li><a class="nav-link" href="/subscription/new">Подписка</a></li>
</ul>
<ul class="navbar-nav flex-lg-row align-items-lg-center gap-2 ms-auto">
<li>
<a class="nav-link" aria-label="Переключить тему" href="/theme/switch?new_theme=dark"><span aria-hidden="true" class="bi bi-moon"></span>
</a></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="/u/new" role="button"><span>Регистрация</span>
</span></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="https://ru.hexlet.io/session/new" role="button"><span>Вход</span>
</span></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="x-container-xxxl">
</div>
<main class="mb-6 min-vh-100 h-100">
<div id="app" data-page="{"component":"web/qna/questions/show","props":{"errors":{},"locale":"ru","language":"ru","httpsHost":"https://ru.hexlet.io","host":"ru.hexlet.io","colorScheme":"light","auth":{"user":{"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26T22:41:40.120Z","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false}},"cloudflareTurnstileSiteKey":"0x4AAAAAAA15KmeFXzd2H0Xo","vkIdClientId":"51586979","yandexIdClientId":"88d071f1d3384eb4bd1deb37910235c7","formAuthToken":"mVhQrd1J8pMdlf5l1u6xA61ROp0mGq-cghjVO00y-2l2iZuaLzdf86vW2v3a4UF0bVgXNy4tUT4_-E9vHzUcBw","category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"mainStackCategory":null,"answerDto":{"id":null,"body":"","meta":{"model":"question_answer","relations":{}}},"question":{"creator":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"tags":[],"id":6186,"answers_count":1,"slug":"sistema-schisleniya","state":"published","title":"Система счисления","created_at":"2025-11-25T11:32:01.897Z","details":null,"best_answer_id":null,"related_stacks_count":0},"answers":[{"user":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"question":{"creator":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"tags":[],"id":6186,"answers_count":1,"slug":"sistema-schisleniya","state":"published","title":"Система счисления","created_at":"2025-11-25T11:32:01.897Z","details":null,"best_answer_id":null,"related_stacks_count":0},"id":5264,"state":"active","body":"Система счисления — это формальный способ записи чисел с использованием ограниченного набора символов и фиксированных правил. Любое число представляется последовательностью цифр, каждая из которых выбирается из алфавита системы и имеет определенный вес в зависимости от позиции.\n\nБазовые элементы системы счисления:\n\n* основание — количество различных цифр;\n\n* алфавит — набор допустимых символов;\n\n* правила записи — порядок расположения цифр, способ формирования значения;\n\n* правила операций — алгоритмы сложения, вычитания, умножения и деления.\n\nИсторически первые системы счисления были непозиционными: числа представлялись повторением одинаковых символов или их комбинаций. Развитие торговли, учета и астрономии привело к появлению позиционных систем, где значение цифры зависит от разряда. Это резко упростило вычисления и сократило длину записей.\n\nВ современных вычислительных системах системы счисления используются на всех уровнях: от физического представления сигналов в памяти до форматов хранения данных и сетевых протоколов. Бинарная запись определяет работу логики процессоров, шестнадцатеричная облегчает анализ и отладку, десятичная остается основной в читаемых интерфейсах.\n\n\n\n## Виды систем счисления\n\nВ информатике применяются преимущественно позиционные системы на основе степеней числа 2. На практике используются несколько базовых вариантов, каждый из которых оптимален для своей задачи.\n\n### Десятичная система (основание 10)\n\nДесятичная система счисления использует десять цифр: 0–9. Значение числа определяется суммой произведений цифр на степени 10. Например, 472 = 4·10² + 7·10¹ + 2·10⁰.\n\nКлючевые характеристики:\n\n* естественная для человека система;\n\n* применяется в финансовых расчетах и бизнес-логике;\n\n* является интерфейсным уровнем для большинства пользовательских систем.\n\nБольшинство высокоуровневых языков по умолчанию трактуют числовые литералы как десятичные, если не указан иной префикс.\n\n### Двоичная система (основание 2)\n\nДвоичная система использует две цифры: 0 и 1. Каждая позиция соответствует степени числа 2. Например, 1011₂ = 1·2³ + 0·2² + 1·2¹ + 1·2⁰ = 11₁₀.\n\nОсновные свойства:\n\n* естественная связь с физическими состояниями электронных схем (есть сигнал / нет сигнала);\n\n* минимизация ошибок интерпретации и помех;\n\n* непосредственное использование в машинном коде, логических операциях, битовых масках.\n\nВсе данные в цифровых устройствах в конечном итоге приводятся к двоичному представлению — независимо от типа и формата.\n\n### Восьмеричная система (основание 8)\n\nВ восьмеричной системе используются цифры 0–7. Каждая позиция — степень числа 8. Например, 157₈ = 1·8² + 5·8¹ + 7·8⁰.\n\nПрактическое применение:\n\n* сокращенная запись двоичных чисел (3 бита = 1 восьмеричная цифра);\n\n* исторически использовалась в архитектурах с разрядностью, кратной 3;\n\n* встречается в обозначении прав доступа в некоторых операционных системах (например, записи вида 0755).\n\nВ современных системах восьмеричная запись применяется реже, но остается полезной при работе с низкоуровневыми ресурсами.\n\n### Шестнадцатеричная система (основание 16)\n\nШестнадцатеричная система использует цифры 0–9 и буквы A–F для обозначения значений от 10 до 15. Каждая позиция — степень числа 16. Например, 3A₁₆ = 3·16¹ + 10·16⁰ = 58₁₀.\n\nОбласти применения:\n\n* компактная запись двоичных данных (4 бита = 1 шестнадцатеричная цифра);\n\n* представление цветов в веб-разметке (формат HEX: #RRGGBB);\n\n* отображение адресов памяти, машинных кодов, контрольных сумм;\n\n* документирование протоколов, форматов файлов и структур данных.\n\nШестнадцатеричная система удобна тем, что сохраняет прямую связь с двоичными данными и остается визуально компактной.\n\n## Перевод между системами счисления\n\nПеревод чисел между системами счисления основан на двух базовых приемах: представлении числа через сумму разрядов и последовательном делении на новое основание. На практике используются стандартные алгоритмы, хорошо формализованные и легко реализуемые программно.\n\n### Перевод из десятичной системы в систему с основанием b\n\nАлгоритм для целых неотрицательных чисел:\n\n1. Выбрать основание b (например, 2, 8 или 16).\n\n2. Последовательно делить число на b с получением целой части и остатка.\n\n3. Записывать остатки от каждого деления.\n\n4. Продолжать, пока целая часть не станет равной нулю.\n\n5. Прочитать остатки в обратном порядке — это и будет искомое число в системе с основанием b.\n\nДля дробной части применяется умножение на b с фиксацией целой части результата:\n\n* дробную часть умножают на b;\n\n* целая часть произведения становится очередной цифрой;\n\n* новая дробная часть снова умножается на b;\n\n* процесс продолжается до достижения нужной точности.\n\nАлгоритм легко автоматизируется и используется во внутренних реализациях конвертирующих функций.\n\n### Перевод из произвольной системы в десятичную\n\nДля числа, записанного в системе с основанием b, используется формула разложения по степеням основания. Если есть число с цифрами dₙ…d₂d₁d₀, где d₀ — младший разряд, то:\n\nN = d₀·b⁰ + d₁·b¹ + … + dₙ·bⁿ.\n\nПорядок действий:\n\n* пронумеровать разряды, начиная с нуля справа;\n\n* для каждой цифры вычислить произведение dᵢ·bⁱ;\n\n* сложить все произведения, получив десятичное значение.\n\nДля дробной части используются отрицательные степени основания: b⁻¹, b⁻² и так далее.\n\n### Прямой перевод между двоичной, восьмеричной и шестнадцатеричной системами\n\nМежду этими системами удобны прямые преобразования без промежуточного перехода через десятичную систему. Причина — связь оснований со степенями числа 2.\n\nСтандартные приемы:\n\n* для перевода двоичного числа в восьмеричное разбиение выполняется по группам по 3 бита, начиная справа;\n\n* для перевода в шестнадцатеричную систему — по группам по 4 бита;\n\n* при необходимости слева добавляются ведущие нули, чтобы каждая группа была полной;\n\n* каждая группа заменяется на одну восьмеричную или шестнадцатеричную цифру по таблице соответствий.\n\nТакой подход широко используется при анализе машинных кодов и структур протоколов.\n\n\n\n## Особенности записи и представления чисел\n\nВ позиционных системах счисления числа описываются через разряды и веса разрядов. В компьютерных архитектурах представление чисел накладывает дополнительные ограничения, связанные с длиной слова, форматом хранения и требуемой точностью.\n\nКлючевые особенности:\n\n* фиксированная разрядность: число хранится в N битах, что ограничивает диапазон возможных значений;\n\n* знаковые и беззнаковые форматы: часть диапазона отводится под отрицательные значения (например, дополнение до двух);\n\n* представление дробных чисел: используется фиксированная точка или плавающая точка;\n\n* округление и переполнение: результат операций может выходить за границы диапазона или требовать потери точности.\n\nЧасто используются следующие модели:\n\n* целые числа в двоичном коде с фиксированной длиной (8, 16, 32, 64 бит);\n\n* числа с плавающей точкой, реализующие представление мантиссы и порядка в двоичной системе;\n\n* специальные значения для представления бесконечностей и ошибок вычислений.\n\nОграничения представления напрямую связаны с выбранной системой счисления и форматом. Например, одно и то же десятичное значение может не иметь точного двоичного представления в формате с плавающей точкой, что приводит к типичным эффектам неточной арифметики.\n\nПри проектировании алгоритмов учитываются:\n\n* диапазоны допустимых значений;\n\n* цена перехода к более длинным типам;\n\n* влияние выбора системы счисления и формата на производительность и объем памяти.\n\n## Значение систем счисления в программировании\n\nСистемы счисления являются фундаментом для большинства технических решений в программировании. Они определяют способы записи констант, взаимодействие с памятью и интерпретацию бинарных данных.\n\nОсновные области применения:\n\n* языки программирования: поддержка литералов в разных системах (двоичной, восьмеричной, шестнадцатеричной);\n\n* адресация памяти: представление адресов и смещений в шестнадцатеричном виде для удобства анализа;\n\n* битовые операции: использование двоичных и шестнадцатеричных масок для работы с флагами и полями;\n\n* форматы данных: кодирование числовых полей в протоколах и бинарных файлах;\n\n* отладка и профилирование: анализ дампов памяти, регистров и машинных инструкций.\n\nТипичные практики:\n\n* представление флагов и наборов опций через битовые поля;\n\n* использование шестнадцатеричной записи для чтения и записи байтовых последовательностей;\n\n* работа с сетевыми адресами и портами, где часть данных может интерпретироваться в разных системах счисления.\n\nЗнание принципов работы систем счисления позволяет корректно интерпретировать низкоуровневые данные, избегать ошибок при преобразованиях и уверенно работать с инфраструктурными компонентами.\n\n\n\n## Исторические и нестандартные системы счисления\n\nПомимо широко используемых систем существует большое количество исторических и специализированных вариантов, отражающих потребности конкретных культур или задач.\n\nПримеры исторических систем:\n\n* шестидесятеричная система древней Месопотамии, сохранившаяся в измерении времени и углов (60 секунд, 60 минут, 360 градусов);\n\n* римская буквенная система, где числа записывались символами I, V, X, L, C, D, M и их комбинациями;\n\n* древнеегипетские непозиционные системы, в которых для разных разрядов применялись отдельные символы.\n\nНестандартные и теоретические системы:\n\n* троичная и сбалансированная троичная системы, используемые в исследованиях по теории вычислений и моделированию альтернативных архитектур;\n\n* факториальная система счисления, где веса разрядов основаны на факториалах и применяются в комбинаторных задачах;\n\n* остаточные системы счисления, использующие набор модулей и облегчающие параллельную обработку некоторых видов вычислений.\n\nТакие системы демонстрируют, что основание и форма записи чисел — не универсальная константа, а инструмент, который выбирается под конкретный класс задач.\n\n## Ресурсы для изучения систем счисления\n\nДля углубления понимания систем счисления используются как теоретические, так и практико-ориентированные материалы. Рационально сочетать формальное изложение с решением задач и работой с интерактивными инструментами.\n\nПолезные направления:\n\n* учебные пособия по дискретной математике и теории алгоритмов;\n\n* материалы по архитектуре компьютеров и организации вычислительных систем;\n\n* справочники по языкам программирования, описывающие форматы числовых литералов и правила преобразования типов;\n\n* техническая документация по протоколам и форматам данных, где явно задаются системы счисления для полей.\n\nПрактические инструменты:\n\n* онлайн-конвертеры чисел между разными системами счисления;\n\n* интерактивные тренажеры, проверяющие умение выполнять переводы вручную;\n\n* калькуляторы для анализа битовых масок, сдвигов и логических операций;\n\n* среды отладки, позволяющие переключать представление чисел (двоичное, десятичное, шестнадцатеричное).\n\nСистемы счисления остаются базовым понятием для любой ИТ-специализации. Корректная работа с ними обеспечивает предсказуемое поведение программ, надежность хранения данных и прозрачность взаимодействия между компонентами цифровых систем.\n","votes_up_count":0,"votes_down_count":0,"created_at":"2025-11-25T11:32:09.988Z","user_id":104929,"category_slug":"glossary"}],"relatedQuestions":[{"creator":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"tags":[],"id":6185,"answers_count":1,"slug":"google-chrome","state":"published","title":"Google Chrome","created_at":"2025-11-25T11:30:13.626Z","details":null,"best_answer_id":null,"related_stacks_count":0},{"creator":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"tags":[],"id":6152,"answers_count":1,"slug":"drayver","state":"published","title":"Драйвер","created_at":"2025-11-24T19:19:40.443Z","details":null,"best_answer_id":5222,"related_stacks_count":0},{"creator":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"tags":[],"id":6151,"answers_count":1,"slug":"mvp","state":"published","title":"MVP","created_at":"2025-11-24T19:10:37.320Z","details":null,"best_answer_id":5217,"related_stacks_count":0},{"creator":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"tags":[],"id":6150,"answers_count":1,"slug":"dispersiya","state":"published","title":"Дисперсия","created_at":"2025-11-24T17:09:20.221Z","details":null,"best_answer_id":null,"related_stacks_count":0},{"creator":{"id":104929,"email":"feycot@gmail.com","first_name":"Nikolai","last_name":"Gagarinov","telegram":"","full_name":"Nikolai Gagarinov","removed":false},"category":{"id":15,"title":"Глоссарий","slug":"glossary","questions_count":382,"locale":"ru"},"tags":[],"id":6149,"answers_count":1,"slug":"kompyuternyy-virus","state":"published","title":"Компьютерный вирус","created_at":"2025-11-24T13:14:30.408Z","details":null,"best_answer_id":null,"related_stacks_count":0}],"relatedLandings":[]},"url":"/qna/glossary/questions/sistema-schisleniya","version":"8f286f6358a90a7bef2263b3a6edf5a90a94fa42","encryptHistory":false,"clearHistory":false}"><style data-mantine-styles="true">:root, :host{--mantine-font-family: Arial, sans-serif;--mantine-font-family-headings: Arial, sans-serif;--mantine-heading-font-weight: normal;--mantine-radius-default: 0rem;--mantine-primary-color-filled: var(--mantine-color-indigo-filled);--mantine-primary-color-filled-hover: var(--mantine-color-indigo-filled-hover);--mantine-primary-color-light: var(--mantine-color-indigo-light);--mantine-primary-color-light-hover: var(--mantine-color-indigo-light-hover);--mantine-primary-color-light-color: var(--mantine-color-indigo-light-color);--mantine-spacing-xxl: calc(4rem * var(--mantine-scale));--mantine-font-size-xs: 12px;--mantine-font-size-sm: 14px;--mantine-font-size-md: 16px;--mantine-font-size-lg: clamp(16.0000px, calc(15.2727px + 0.2273vw), 18.0000px);--mantine-font-size-xl: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-display-3: clamp(32.0000px, calc(26.1818px + 1.8182vw), 48.0000px);--mantine-font-size-display-2: clamp(36.0000px, calc(25.8182px + 3.1818vw), 64.0000px);--mantine-font-size-display-1: clamp(40.0000px, calc(25.4545px + 4.5455vw), 80.0000px);--mantine-font-size-h1: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-font-size-h2: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-font-size-h3: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-font-size-h4: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-font-size-h5: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-h6: 1rem;--mantine-primary-color-0: var(--mantine-color-indigo-0);--mantine-primary-color-1: var(--mantine-color-indigo-1);--mantine-primary-color-2: var(--mantine-color-indigo-2);--mantine-primary-color-3: var(--mantine-color-indigo-3);--mantine-primary-color-4: var(--mantine-color-indigo-4);--mantine-primary-color-5: var(--mantine-color-indigo-5);--mantine-primary-color-6: var(--mantine-color-indigo-6);--mantine-primary-color-7: var(--mantine-color-indigo-7);--mantine-primary-color-8: var(--mantine-color-indigo-8);--mantine-primary-color-9: var(--mantine-color-indigo-9);--mantine-color-red-0: #ffeaea;--mantine-color-red-1: #fed4d4;--mantine-color-red-2: #f4a7a8;--mantine-color-red-3: #ec7878;--mantine-color-red-4: #e55050;--mantine-color-red-5: #e03131;--mantine-color-red-6: #e02829;--mantine-color-red-7: #c71a1c;--mantine-color-red-8: #b21218;--mantine-color-red-9: #9c0411;--mantine-color-violet-0: #fce9ff;--mantine-color-violet-1: #f1cfff;--mantine-color-violet-2: #e09bff;--mantine-color-violet-3: #d16fff;--mantine-color-violet-4: #be37fe;--mantine-color-violet-5: #b51afe;--mantine-color-violet-6: #b009ff;--mantine-color-violet-7: #9b00e4;--mantine-color-violet-8: #8a00cc;--mantine-color-violet-9: #7800b3;--mantine-color-indigo-0: #edecff;--mantine-color-indigo-1: #d6d5fe;--mantine-color-indigo-2: #aaa9f4;--mantine-color-indigo-3: #7b79eb;--mantine-color-indigo-4: #5451e4;--mantine-color-indigo-5: #3b37e0;--mantine-color-indigo-6: #2d2adf;--mantine-color-indigo-7: #1f1ec7;--mantine-color-indigo-8: #1819b2;--mantine-color-indigo-9: #0c149e;--mantine-color-cyan-0: #dffdff;--mantine-color-cyan-1: #caf5ff;--mantine-color-cyan-2: #99e8ff;--mantine-color-cyan-3: #64daff;--mantine-color-cyan-4: #3ccffe;--mantine-color-cyan-5: #24c8fe;--mantine-color-cyan-6: #00c2ff;--mantine-color-cyan-7: #00ade4;--mantine-color-cyan-8: #009acd;--mantine-color-cyan-9: #0085b5;--mantine-color-green-0: #e9fdec;--mantine-color-green-1: #d7f6dc;--mantine-color-green-2: #b0eab9;--mantine-color-green-3: #86df94;--mantine-color-green-4: #62d574;--mantine-color-green-5: #4ccf5f;--mantine-color-green-6: #3fcc54;--mantine-color-green-7: #2fb344;--mantine-color-green-8: #25a03b;--mantine-color-green-9: #138a2e;--mantine-color-yellow-0: #fff7e2;--mantine-color-yellow-1: #ffeecd;--mantine-color-yellow-2: #ffdc9c;--mantine-color-yellow-3: #ffc966;--mantine-color-yellow-4: #feb93a;--mantine-color-yellow-5: #feae1e;--mantine-color-yellow-6: #ffa90f;--mantine-color-yellow-8: #ca8200;--mantine-color-yellow-9: #af7000;--mantine-h1-font-size: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-h1-font-weight: normal;--mantine-h2-font-size: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-h2-font-weight: normal;--mantine-h3-font-size: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-h3-font-weight: normal;--mantine-h4-font-size: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-h4-font-weight: normal;--mantine-h5-font-size: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-h5-font-weight: normal;--mantine-h6-font-size: 1rem;--mantine-h6-font-weight: normal;}
:root[data-mantine-color-scheme="dark"], :host([data-mantine-color-scheme="dark"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-dark-filled: var(--mantine-color-dark-5);--mantine-color-dark-filled-hover: var(--mantine-color-dark-6);--mantine-color-dark-light: rgba(105, 105, 105, 0.15);--mantine-color-dark-light-hover: rgba(105, 105, 105, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-0);--mantine-color-dark-outline: var(--mantine-color-dark-1);--mantine-color-dark-outline-hover: rgba(184, 184, 184, 0.05);--mantine-color-gray-filled: var(--mantine-color-gray-5);--mantine-color-gray-filled-hover: var(--mantine-color-gray-6);--mantine-color-gray-light: rgba(222, 226, 230, 0.15);--mantine-color-gray-light-hover: rgba(222, 226, 230, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-0);--mantine-color-gray-outline: var(--mantine-color-gray-1);--mantine-color-gray-outline-hover: rgba(241, 243, 245, 0.05);--mantine-color-red-filled: var(--mantine-color-red-5);--mantine-color-red-filled-hover: var(--mantine-color-red-6);--mantine-color-red-light: rgba(236, 120, 120, 0.15);--mantine-color-red-light-hover: rgba(236, 120, 120, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-0);--mantine-color-red-outline: var(--mantine-color-red-1);--mantine-color-red-outline-hover: rgba(254, 212, 212, 0.05);--mantine-color-pink-filled: var(--mantine-color-pink-5);--mantine-color-pink-filled-hover: var(--mantine-color-pink-6);--mantine-color-pink-light: rgba(250, 162, 193, 0.15);--mantine-color-pink-light-hover: rgba(250, 162, 193, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-0);--mantine-color-pink-outline: var(--mantine-color-pink-1);--mantine-color-pink-outline-hover: rgba(255, 222, 235, 0.05);--mantine-color-grape-filled: var(--mantine-color-grape-5);--mantine-color-grape-filled-hover: var(--mantine-color-grape-6);--mantine-color-grape-light: rgba(229, 153, 247, 0.15);--mantine-color-grape-light-hover: rgba(229, 153, 247, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-0);--mantine-color-grape-outline: var(--mantine-color-grape-1);--mantine-color-grape-outline-hover: rgba(243, 217, 250, 0.05);--mantine-color-violet-filled: var(--mantine-color-violet-5);--mantine-color-violet-filled-hover: var(--mantine-color-violet-6);--mantine-color-violet-light: rgba(209, 111, 255, 0.15);--mantine-color-violet-light-hover: rgba(209, 111, 255, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-0);--mantine-color-violet-outline: var(--mantine-color-violet-1);--mantine-color-violet-outline-hover: rgba(241, 207, 255, 0.05);--mantine-color-indigo-filled: var(--mantine-color-indigo-5);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-6);--mantine-color-indigo-light: rgba(123, 121, 235, 0.15);--mantine-color-indigo-light-hover: rgba(123, 121, 235, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-0);--mantine-color-indigo-outline: var(--mantine-color-indigo-1);--mantine-color-indigo-outline-hover: rgba(214, 213, 254, 0.05);--mantine-color-blue-filled: var(--mantine-color-blue-5);--mantine-color-blue-filled-hover: var(--mantine-color-blue-6);--mantine-color-blue-light: rgba(116, 192, 252, 0.15);--mantine-color-blue-light-hover: rgba(116, 192, 252, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-0);--mantine-color-blue-outline: var(--mantine-color-blue-1);--mantine-color-blue-outline-hover: rgba(208, 235, 255, 0.05);--mantine-color-cyan-filled: var(--mantine-color-cyan-5);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-6);--mantine-color-cyan-light: rgba(100, 218, 255, 0.15);--mantine-color-cyan-light-hover: rgba(100, 218, 255, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-0);--mantine-color-cyan-outline: var(--mantine-color-cyan-1);--mantine-color-cyan-outline-hover: rgba(202, 245, 255, 0.05);--mantine-color-teal-filled: var(--mantine-color-teal-5);--mantine-color-teal-filled-hover: var(--mantine-color-teal-6);--mantine-color-teal-light: rgba(99, 230, 190, 0.15);--mantine-color-teal-light-hover: rgba(99, 230, 190, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-0);--mantine-color-teal-outline: var(--mantine-color-teal-1);--mantine-color-teal-outline-hover: rgba(195, 250, 232, 0.05);--mantine-color-green-filled: var(--mantine-color-green-5);--mantine-color-green-filled-hover: var(--mantine-color-green-6);--mantine-color-green-light: rgba(134, 223, 148, 0.15);--mantine-color-green-light-hover: rgba(134, 223, 148, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-0);--mantine-color-green-outline: var(--mantine-color-green-1);--mantine-color-green-outline-hover: rgba(215, 246, 220, 0.05);--mantine-color-lime-filled: var(--mantine-color-lime-5);--mantine-color-lime-filled-hover: var(--mantine-color-lime-6);--mantine-color-lime-light: rgba(192, 235, 117, 0.15);--mantine-color-lime-light-hover: rgba(192, 235, 117, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-0);--mantine-color-lime-outline: var(--mantine-color-lime-1);--mantine-color-lime-outline-hover: rgba(233, 250, 200, 0.05);--mantine-color-yellow-filled: var(--mantine-color-yellow-5);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-6);--mantine-color-yellow-light: rgba(255, 201, 102, 0.15);--mantine-color-yellow-light-hover: rgba(255, 201, 102, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-0);--mantine-color-yellow-outline: var(--mantine-color-yellow-1);--mantine-color-yellow-outline-hover: rgba(255, 238, 205, 0.05);--mantine-color-orange-filled: var(--mantine-color-orange-5);--mantine-color-orange-filled-hover: var(--mantine-color-orange-6);--mantine-color-orange-light: rgba(255, 192, 120, 0.15);--mantine-color-orange-light-hover: rgba(255, 192, 120, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-0);--mantine-color-orange-outline: var(--mantine-color-orange-1);--mantine-color-orange-outline-hover: rgba(255, 232, 204, 0.05);--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-9) 0%, var(--mantine-color-cyan-7) 100%);--app-color-surface: #2e2e2e;}
:root[data-mantine-color-scheme="light"], :host([data-mantine-color-scheme="light"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-red-light: rgba(224, 40, 41, 0.1);--mantine-color-red-light-hover: rgba(224, 40, 41, 0.12);--mantine-color-red-outline-hover: rgba(224, 40, 41, 0.05);--mantine-color-violet-light: rgba(176, 9, 255, 0.1);--mantine-color-violet-light-hover: rgba(176, 9, 255, 0.12);--mantine-color-violet-outline-hover: rgba(176, 9, 255, 0.05);--mantine-color-indigo-light: rgba(45, 42, 223, 0.1);--mantine-color-indigo-light-hover: rgba(45, 42, 223, 0.12);--mantine-color-indigo-outline-hover: rgba(45, 42, 223, 0.05);--mantine-color-cyan-light: rgba(0, 194, 255, 0.1);--mantine-color-cyan-light-hover: rgba(0, 194, 255, 0.12);--mantine-color-cyan-outline-hover: rgba(0, 194, 255, 0.05);--mantine-color-green-light: rgba(63, 204, 84, 0.1);--mantine-color-green-light-hover: rgba(63, 204, 84, 0.12);--mantine-color-green-outline-hover: rgba(63, 204, 84, 0.05);--mantine-color-yellow-light: rgba(255, 169, 15, 0.1);--mantine-color-yellow-light-hover: rgba(255, 169, 15, 0.12);--mantine-color-yellow-outline-hover: rgba(255, 169, 15, 0.05);--app-color-surface: #f1f3f5;--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-5) 100%);}</style><style data-mantine-styles="classes">@media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}</style><script type="application/ld+json">{"@context":"https://schema.org","@type":"QAPage","mainEntity":{"@type":"Question","name":"Система счисления","answerCount":1,"datePublished":"2025-11-25T11:32:01.897Z","author":{"@type":"Person","name":"Nikolai Gagarinov"},"suggestedAnswer":[{"@type":"Answer","text":"Система счисления — это формальный способ записи чисел с использованием ограниченного набора символов и фиксированных правил. Любое число представляется последовательностью цифр, каждая из которых выбирается из алфавита системы и имеет определенный вес в зависимости от позиции.\n\nБазовые элементы системы счисления:\n\n* основание — количество различных цифр;\n\n* алфавит — набор допустимых символов;\n\n* правила записи — порядок расположения цифр, способ формирования значения;\n\n* правила операций — алгоритмы сложения, вычитания, умножения и деления.\n\nИсторически первые системы счисления были непозиционными: числа представлялись повторением одинаковых символов или их комбинаций. Развитие торговли, учета и астрономии привело к появлению позиционных систем, где значение цифры зависит от разряда. Это резко упростило вычисления и сократило длину записей.\n\nВ современных вычислительных системах системы счисления используются на всех уровнях: от физического представления сигналов в памяти до форматов хранения данных и сетевых протоколов. Бинарная запись определяет работу логики процессоров, шестнадцатеричная облегчает анализ и отладку, десятичная остается основной в читаемых интерфейсах.\n\n\n\n## Виды систем счисления\n\nВ информатике применяются преимущественно позиционные системы на основе степеней числа 2. На практике используются несколько базовых вариантов, каждый из которых оптимален для своей задачи.\n\n### Десятичная система (основание 10)\n\nДесятичная система счисления использует десять цифр: 0–9. Значение числа определяется суммой произведений цифр на степени 10. Например, 472 = 4·10² + 7·10¹ + 2·10⁰.\n\nКлючевые характеристики:\n\n* естественная для человека система;\n\n* применяется в финансовых расчетах и бизнес-логике;\n\n* является интерфейсным уровнем для большинства пользовательских систем.\n\nБольшинство высокоуровневых языков по умолчанию трактуют числовые литералы как десятичные, если не указан иной префикс.\n\n### Двоичная система (основание 2)\n\nДвоичная система использует две цифры: 0 и 1. Каждая позиция соответствует степени числа 2. Например, 1011₂ = 1·2³ + 0·2² + 1·2¹ + 1·2⁰ = 11₁₀.\n\nОсновные свойства:\n\n* естественная связь с физическими состояниями электронных схем (есть сигнал / нет сигнала);\n\n* минимизация ошибок интерпретации и помех;\n\n* непосредственное использование в машинном коде, логических операциях, битовых масках.\n\nВсе данные в цифровых устройствах в конечном итоге приводятся к двоичному представлению — независимо от типа и формата.\n\n### Восьмеричная система (основание 8)\n\nВ восьмеричной системе используются цифры 0–7. Каждая позиция — степень числа 8. Например, 157₈ = 1·8² + 5·8¹ + 7·8⁰.\n\nПрактическое применение:\n\n* сокращенная запись двоичных чисел (3 бита = 1 восьмеричная цифра);\n\n* исторически использовалась в архитектурах с разрядностью, кратной 3;\n\n* встречается в обозначении прав доступа в некоторых операционных системах (например, записи вида 0755).\n\nВ современных системах восьмеричная запись применяется реже, но остается полезной при работе с низкоуровневыми ресурсами.\n\n### Шестнадцатеричная система (основание 16)\n\nШестнадцатеричная система использует цифры 0–9 и буквы A–F для обозначения значений от 10 до 15. Каждая позиция — степень числа 16. Например, 3A₁₆ = 3·16¹ + 10·16⁰ = 58₁₀.\n\nОбласти применения:\n\n* компактная запись двоичных данных (4 бита = 1 шестнадцатеричная цифра);\n\n* представление цветов в веб-разметке (формат HEX: #RRGGBB);\n\n* отображение адресов памяти, машинных кодов, контрольных сумм;\n\n* документирование протоколов, форматов файлов и структур данных.\n\nШестнадцатеричная система удобна тем, что сохраняет прямую связь с двоичными данными и остается визуально компактной.\n\n## Перевод между системами счисления\n\nПеревод чисел между системами счисления основан на двух базовых приемах: представлении числа через сумму разрядов и последовательном делении на новое основание. На практике используются стандартные алгоритмы, хорошо формализованные и легко реализуемые программно.\n\n### Перевод из десятичной системы в систему с основанием b\n\nАлгоритм для целых неотрицательных чисел:\n\n1. Выбрать основание b (например, 2, 8 или 16).\n\n2. Последовательно делить число на b с получением целой части и остатка.\n\n3. Записывать остатки от каждого деления.\n\n4. Продолжать, пока целая часть не станет равной нулю.\n\n5. Прочитать остатки в обратном порядке — это и будет искомое число в системе с основанием b.\n\nДля дробной части применяется умножение на b с фиксацией целой части результата:\n\n* дробную часть умножают на b;\n\n* целая часть произведения становится очередной цифрой;\n\n* новая дробная часть снова умножается на b;\n\n* процесс продолжается до достижения нужной точности.\n\nАлгоритм легко автоматизируется и используется во внутренних реализациях конвертирующих функций.\n\n### Перевод из произвольной системы в десятичную\n\nДля числа, записанного в системе с основанием b, используется формула разложения по степеням основания. Если есть число с цифрами dₙ…d₂d₁d₀, где d₀ — младший разряд, то:\n\nN = d₀·b⁰ + d₁·b¹ + … + dₙ·bⁿ.\n\nПорядок действий:\n\n* пронумеровать разряды, начиная с нуля справа;\n\n* для каждой цифры вычислить произведение dᵢ·bⁱ;\n\n* сложить все произведения, получив десятичное значение.\n\nДля дробной части используются отрицательные степени основания: b⁻¹, b⁻² и так далее.\n\n### Прямой перевод между двоичной, восьмеричной и шестнадцатеричной системами\n\nМежду этими системами удобны прямые преобразования без промежуточного перехода через десятичную систему. Причина — связь оснований со степенями числа 2.\n\nСтандартные приемы:\n\n* для перевода двоичного числа в восьмеричное разбиение выполняется по группам по 3 бита, начиная справа;\n\n* для перевода в шестнадцатеричную систему — по группам по 4 бита;\n\n* при необходимости слева добавляются ведущие нули, чтобы каждая группа была полной;\n\n* каждая группа заменяется на одну восьмеричную или шестнадцатеричную цифру по таблице соответствий.\n\nТакой подход широко используется при анализе машинных кодов и структур протоколов.\n\n\n\n## Особенности записи и представления чисел\n\nВ позиционных системах счисления числа описываются через разряды и веса разрядов. В компьютерных архитектурах представление чисел накладывает дополнительные ограничения, связанные с длиной слова, форматом хранения и требуемой точностью.\n\nКлючевые особенности:\n\n* фиксированная разрядность: число хранится в N битах, что ограничивает диапазон возможных значений;\n\n* знаковые и беззнаковые форматы: часть диапазона отводится под отрицательные значения (например, дополнение до двух);\n\n* представление дробных чисел: используется фиксированная точка или плавающая точка;\n\n* округление и переполнение: результат операций может выходить за границы диапазона или требовать потери точности.\n\nЧасто используются следующие модели:\n\n* целые числа в двоичном коде с фиксированной длиной (8, 16, 32, 64 бит);\n\n* числа с плавающей точкой, реализующие представление мантиссы и порядка в двоичной системе;\n\n* специальные значения для представления бесконечностей и ошибок вычислений.\n\nОграничения представления напрямую связаны с выбранной системой счисления и форматом. Например, одно и то же десятичное значение может не иметь точного двоичного представления в формате с плавающей точкой, что приводит к типичным эффектам неточной арифметики.\n\nПри проектировании алгоритмов учитываются:\n\n* диапазоны допустимых значений;\n\n* цена перехода к более длинным типам;\n\n* влияние выбора системы счисления и формата на производительность и объем памяти.\n\n## Значение систем счисления в программировании\n\nСистемы счисления являются фундаментом для большинства технических решений в программировании. Они определяют способы записи констант, взаимодействие с памятью и интерпретацию бинарных данных.\n\nОсновные области применения:\n\n* языки программирования: поддержка литералов в разных системах (двоичной, восьмеричной, шестнадцатеричной);\n\n* адресация памяти: представление адресов и смещений в шестнадцатеричном виде для удобства анализа;\n\n* битовые операции: использование двоичных и шестнадцатеричных масок для работы с флагами и полями;\n\n* форматы данных: кодирование числовых полей в протоколах и бинарных файлах;\n\n* отладка и профилирование: анализ дампов памяти, регистров и машинных инструкций.\n\nТипичные практики:\n\n* представление флагов и наборов опций через битовые поля;\n\n* использование шестнадцатеричной записи для чтения и записи байтовых последовательностей;\n\n* работа с сетевыми адресами и портами, где часть данных может интерпретироваться в разных системах счисления.\n\nЗнание принципов работы систем счисления позволяет корректно интерпретировать низкоуровневые данные, избегать ошибок при преобразованиях и уверенно работать с инфраструктурными компонентами.\n\n\n\n## Исторические и нестандартные системы счисления\n\nПомимо широко используемых систем существует большое количество исторических и специализированных вариантов, отражающих потребности конкретных культур или задач.\n\nПримеры исторических систем:\n\n* шестидесятеричная система древней Месопотамии, сохранившаяся в измерении времени и углов (60 секунд, 60 минут, 360 градусов);\n\n* римская буквенная система, где числа записывались символами I, V, X, L, C, D, M и их комбинациями;\n\n* древнеегипетские непозиционные системы, в которых для разных разрядов применялись отдельные символы.\n\nНестандартные и теоретические системы:\n\n* троичная и сбалансированная троичная системы, используемые в исследованиях по теории вычислений и моделированию альтернативных архитектур;\n\n* факториальная система счисления, где веса разрядов основаны на факториалах и применяются в комбинаторных задачах;\n\n* остаточные системы счисления, использующие набор модулей и облегчающие параллельную обработку некоторых видов вычислений.\n\nТакие системы демонстрируют, что основание и форма записи чисел — не универсальная константа, а инструмент, который выбирается под конкретный класс задач.\n\n## Ресурсы для изучения систем счисления\n\nДля углубления понимания систем счисления используются как теоретические, так и практико-ориентированные материалы. Рационально сочетать формальное изложение с решением задач и работой с интерактивными инструментами.\n\nПолезные направления:\n\n* учебные пособия по дискретной математике и теории алгоритмов;\n\n* материалы по архитектуре компьютеров и организации вычислительных систем;\n\n* справочники по языкам программирования, описывающие форматы числовых литералов и правила преобразования типов;\n\n* техническая документация по протоколам и форматам данных, где явно задаются системы счисления для полей.\n\nПрактические инструменты:\n\n* онлайн-конвертеры чисел между разными системами счисления;\n\n* интерактивные тренажеры, проверяющие умение выполнять переводы вручную;\n\n* калькуляторы для анализа битовых масок, сдвигов и логических операций;\n\n* среды отладки, позволяющие переключать представление чисел (двоичное, десятичное, шестнадцатеричное).\n\nСистемы счисления остаются базовым понятием для любой ИТ-специализации. Корректная работа с ними обеспечивает предсказуемое поведение программ, надежность хранения данных и прозрачность взаимодействия между компонентами цифровых систем.\n","datePublished":"2025-11-25T11:32:09.988Z","upvoteCount":0,"author":{"@type":"Person","name":"Nikolai Gagarinov"},"url":"https://ru.hexlet.io/qna/glossary/questions/sistema-schisleniya#answer-5264"}]}}</script><div style="--container-size:var(--container-size-lg);margin-top:var(--mantine-spacing-xl);height:100%" class="m_7485cace mantine-Container-root" data-size="lg" data-strategy="block"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"position":1,"@type":"ListItem","item":{"@id":"/qna","name":"Вопросы и ответы"}},{"position":2,"@type":"ListItem","item":{"@id":"/qna/glossary/questions","name":"Глоссарий"}},{"position":3,"@type":"ListItem","item":{"@id":"/qna/glossary/questions/sistema-schisleniya","name":"Система счисления"}}]}</script><div style="margin-bottom:var(--mantine-spacing-xs)" class="m_8b3717df mantine-Breadcrumbs-root"><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/"><div style="color:inherit" class="m_4451eb3a mantine-Center-root"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-home-link "><path d="M20.085 11.085l-8.085 -8.085l-9 9h2v7a2 2 0 0 0 2 2h4.5"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 1.807 1.143"></path><path d="M20 21a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M20 16a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M15 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M21 16l-5 3l5 2"></path></svg></div></a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/qna">Вопросы и ответы</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/qna/glossary/questions">Глоссарий</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><p style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:var(--mantine-color-dimmed)" class="mantine-focus-auto m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root" data-size="sm">Система счисления</p></div><style data-mantine-styles="inline">.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}@media(min-width: 36em){.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}}</style><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root __m__-_R_eub_"><style data-mantine-styles="inline">.__m__-_R_deub_{width:100%;}@media(min-width: 36em){.__m__-_R_deub_{width:70%;}}@media(min-width: 75em){.__m__-_R_deub_{width:75%;}}</style><div class="__m__-_R_deub_"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><h1 style="--title-fw:var(--mantine-h1-font-weight);--title-lh:var(--mantine-h1-line-height);--title-fz:var(--mantine-h1-font-size)" class="m_8a5d1357 mantine-Title-root" data-order="1">Система счисления</h1></div></div></div><style data-mantine-styles="inline">.__m__-_R_iub_{--grid-gutter:var(--mantine-spacing-md);}</style><div class="m_410352e9 mantine-Grid-root __m__-_R_iub_"><div class="m_dee7bd2f mantine-Grid-inner"><style data-mantine-styles="inline">.__m__-_R_3diub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_3diub_{--col-flex-grow:auto;--col-flex-basis:83.33333333333334%;--col-max-width:83.33333333333334%;}}@media(min-width: 62em){.__m__-_R_3diub_{--col-flex-grow:auto;--col-flex-basis:66.66666666666667%;--col-max-width:66.66666666666667%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_3diub_"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root"></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-xl);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-inline-start:auto" class="m_4081bf90 mantine-Group-root"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-calendar "><path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12"></path><path d="M16 3v4"></path><path d="M8 3v4"></path><path d="M4 11h16"></path><path d="M11 15h1"></path><path d="M12 15v3"></path></svg><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root" data-inherit="true">3 месяца назад</p></div><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-user "><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path></svg><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root" data-inherit="true">Nikolai Gagarinov</p></div></div><div role="link" tabindex="0" style="cursor:pointer"><button style="display:block;width:100%" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Присоединяйтесь к нашему Telegram-сообществу"><div style="background-color:light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-6));margin-block:var(--mantine-spacing-xs)" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:auto;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-telegram "><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4"></path></svg></div>Присоединяйтесь к нашему Telegram-сообществу</div></div></button></div><h2 style="--title-fw:var(--mantine-h2-font-weight);--title-lh:var(--mantine-h2-line-height);--title-fz:var(--mantine-h2-font-size);margin-block:var(--mantine-spacing-xl)" class="m_8a5d1357 mantine-Title-root" data-order="2">Ответы</h2><div style="margin-bottom:var(--mantine-spacing-xl);padding:var(--mantine-spacing-lg)" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true" id="answer-5264"><div style="--group-gap:calc(1.125rem * var(--mantine-scale));--group-align:stretch;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><div style="--stack-gap:var(--mantine-spacing-md);--stack-align:stretch;--stack-justify:flex-start;font-size:var(--mantine-font-size-h1);font-weight:lighter;text-align:center" class="m_6d731127 mantine-Stack-root">0<a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/qna/glossary/questions/sistema-schisleniya/answers/5264/vote"><div style="--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div></a></div><div style="--stack-gap:var(--mantine-spacing-md);--stack-align:stretch;--stack-justify:flex-start;width:100%;min-width:0rem" class="m_6d731127 mantine-Stack-root"><div style="margin-bottom:auto" class="m_d08caa0 mantine-Typography-root"><p>Система счисления — это формальный способ записи чисел с использованием ограниченного набора символов и фиксированных правил. Любое число представляется последовательностью цифр, каждая из которых выбирается из алфавита системы и имеет определенный вес в зависимости от позиции.</p>
<p>Базовые элементы системы счисления:</p>
<ul>
<li>
<p>основание — количество различных цифр;</p>
</li>
<li>
<p>алфавит — набор допустимых символов;</p>
</li>
<li>
<p>правила записи — порядок расположения цифр, способ формирования значения;</p>
</li>
<li>
<p>правила операций — алгоритмы сложения, вычитания, умножения и деления.</p>
</li>
</ul>
<p>Исторически первые системы счисления были непозиционными: числа представлялись повторением одинаковых символов или их комбинаций. Развитие торговли, учета и астрономии привело к появлению позиционных систем, где значение цифры зависит от разряда. Это резко упростило вычисления и сократило длину записей.</p>
<p>В современных вычислительных системах системы счисления используются на всех уровнях: от физического представления сигналов в памяти до форматов хранения данных и сетевых протоколов. Бинарная запись определяет работу логики процессоров, шестнадцатеричная облегчает анализ и отладку, десятичная остается основной в читаемых интерфейсах.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://cdn6.hexlet.io/YNbJEDSmHIX4.jpg" alt="" loading="lazy"/></p>
<h2 id="heading-2-1">Виды систем счисления</h2>
<p>В информатике применяются преимущественно позиционные системы на основе степеней числа 2. На практике используются несколько базовых вариантов, каждый из которых оптимален для своей задачи.</p>
<h3 id="heading-3-2">Десятичная система (основание 10)</h3>
<p>Десятичная система счисления использует десять цифр: 0–9. Значение числа определяется суммой произведений цифр на степени 10. Например, 472 = 4·10² + 7·10¹ + 2·10⁰.</p>
<p>Ключевые характеристики:</p>
<ul>
<li>
<p>естественная для человека система;</p>
</li>
<li>
<p>применяется в финансовых расчетах и бизнес-логике;</p>
</li>
<li>
<p>является интерфейсным уровнем для большинства пользовательских систем.</p>
</li>
</ul>
<p>Большинство высокоуровневых языков по умолчанию трактуют числовые литералы как десятичные, если не указан иной префикс.</p>
<h3 id="heading-3-3">Двоичная система (основание 2)</h3>
<p>Двоичная система использует две цифры: 0 и 1. Каждая позиция соответствует степени числа 2. Например, 1011₂ = 1·2³ + 0·2² + 1·2¹ + 1·2⁰ = 11₁₀.</p>
<p>Основные свойства:</p>
<ul>
<li>
<p>естественная связь с физическими состояниями электронных схем (есть сигнал / нет сигнала);</p>
</li>
<li>
<p>минимизация ошибок интерпретации и помех;</p>
</li>
<li>
<p>непосредственное использование в машинном коде, логических операциях, битовых масках.</p>
</li>
</ul>
<p>Все данные в цифровых устройствах в конечном итоге приводятся к двоичному представлению — независимо от типа и формата.</p>
<h3 id="heading-3-4">Восьмеричная система (основание 8)</h3>
<p>В восьмеричной системе используются цифры 0–7. Каждая позиция — степень числа 8. Например, 157₈ = 1·8² + 5·8¹ + 7·8⁰.</p>
<p>Практическое применение:</p>
<ul>
<li>
<p>сокращенная запись двоичных чисел (3 бита = 1 восьмеричная цифра);</p>
</li>
<li>
<p>исторически использовалась в архитектурах с разрядностью, кратной 3;</p>
</li>
<li>
<p>встречается в обозначении прав доступа в некоторых операционных системах (например, записи вида 0755).</p>
</li>
</ul>
<p>В современных системах восьмеричная запись применяется реже, но остается полезной при работе с низкоуровневыми ресурсами.</p>
<h3 id="heading-3-5">Шестнадцатеричная система (основание 16)</h3>
<p>Шестнадцатеричная система использует цифры 0–9 и буквы A–F для обозначения значений от 10 до 15. Каждая позиция — степень числа 16. Например, 3A₁₆ = 3·16¹ + 10·16⁰ = 58₁₀.</p>
<p>Области применения:</p>
<ul>
<li>
<p>компактная запись двоичных данных (4 бита = 1 шестнадцатеричная цифра);</p>
</li>
<li>
<p>представление цветов в веб-разметке (формат HEX: #RRGGBB);</p>
</li>
<li>
<p>отображение адресов памяти, машинных кодов, контрольных сумм;</p>
</li>
<li>
<p>документирование протоколов, форматов файлов и структур данных.</p>
</li>
</ul>
<p>Шестнадцатеричная система удобна тем, что сохраняет прямую связь с двоичными данными и остается визуально компактной.</p>
<h2 id="heading-2-6">Перевод между системами счисления</h2>
<p>Перевод чисел между системами счисления основан на двух базовых приемах: представлении числа через сумму разрядов и последовательном делении на новое основание. На практике используются стандартные алгоритмы, хорошо формализованные и легко реализуемые программно.</p>
<h3 id="heading-3-7">Перевод из десятичной системы в систему с основанием b</h3>
<p>Алгоритм для целых неотрицательных чисел:</p>
<ol>
<li>
<p>Выбрать основание b (например, 2, 8 или 16).</p>
</li>
<li>
<p>Последовательно делить число на b с получением целой части и остатка.</p>
</li>
<li>
<p>Записывать остатки от каждого деления.</p>
</li>
<li>
<p>Продолжать, пока целая часть не станет равной нулю.</p>
</li>
<li>
<p>Прочитать остатки в обратном порядке — это и будет искомое число в системе с основанием b.</p>
</li>
</ol>
<p>Для дробной части применяется умножение на b с фиксацией целой части результата:</p>
<ul>
<li>
<p>дробную часть умножают на b;</p>
</li>
<li>
<p>целая часть произведения становится очередной цифрой;</p>
</li>
<li>
<p>новая дробная часть снова умножается на b;</p>
</li>
<li>
<p>процесс продолжается до достижения нужной точности.</p>
</li>
</ul>
<p>Алгоритм легко автоматизируется и используется во внутренних реализациях конвертирующих функций.</p>
<h3 id="heading-3-8">Перевод из произвольной системы в десятичную</h3>
<p>Для числа, записанного в системе с основанием b, используется формула разложения по степеням основания. Если есть число с цифрами dₙ…d₂d₁d₀, где d₀ — младший разряд, то:</p>
<p>N = d₀·b⁰ + d₁·b¹ + … + dₙ·bⁿ.</p>
<p>Порядок действий:</p>
<ul>
<li>
<p>пронумеровать разряды, начиная с нуля справа;</p>
</li>
<li>
<p>для каждой цифры вычислить произведение dᵢ·bⁱ;</p>
</li>
<li>
<p>сложить все произведения, получив десятичное значение.</p>
</li>
</ul>
<p>Для дробной части используются отрицательные степени основания: b⁻¹, b⁻² и так далее.</p>
<h3 id="heading-3-9">Прямой перевод между двоичной, восьмеричной и шестнадцатеричной системами</h3>
<p>Между этими системами удобны прямые преобразования без промежуточного перехода через десятичную систему. Причина — связь оснований со степенями числа 2.</p>
<p>Стандартные приемы:</p>
<ul>
<li>
<p>для перевода двоичного числа в восьмеричное разбиение выполняется по группам по 3 бита, начиная справа;</p>
</li>
<li>
<p>для перевода в шестнадцатеричную систему — по группам по 4 бита;</p>
</li>
<li>
<p>при необходимости слева добавляются ведущие нули, чтобы каждая группа была полной;</p>
</li>
<li>
<p>каждая группа заменяется на одну восьмеричную или шестнадцатеричную цифру по таблице соответствий.</p>
</li>
</ul>
<p>Такой подход широко используется при анализе машинных кодов и структур протоколов.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://cdn6.hexlet.io/CqqErj5HB7a7.jpg" alt="" loading="lazy"/></p>
<h2 id="heading-2-10">Особенности записи и представления чисел</h2>
<p>В позиционных системах счисления числа описываются через разряды и веса разрядов. В компьютерных архитектурах представление чисел накладывает дополнительные ограничения, связанные с длиной слова, форматом хранения и требуемой точностью.</p>
<p>Ключевые особенности:</p>
<ul>
<li>
<p>фиксированная разрядность: число хранится в N битах, что ограничивает диапазон возможных значений;</p>
</li>
<li>
<p>знаковые и беззнаковые форматы: часть диапазона отводится под отрицательные значения (например, дополнение до двух);</p>
</li>
<li>
<p>представление дробных чисел: используется фиксированная точка или плавающая точка;</p>
</li>
<li>
<p>округление и переполнение: результат операций может выходить за границы диапазона или требовать потери точности.</p>
</li>
</ul>
<p>Часто используются следующие модели:</p>
<ul>
<li>
<p>целые числа в двоичном коде с фиксированной длиной (8, 16, 32, 64 бит);</p>
</li>
<li>
<p>числа с плавающей точкой, реализующие представление мантиссы и порядка в двоичной системе;</p>
</li>
<li>
<p>специальные значения для представления бесконечностей и ошибок вычислений.</p>
</li>
</ul>
<p>Ограничения представления напрямую связаны с выбранной системой счисления и форматом. Например, одно и то же десятичное значение может не иметь точного двоичного представления в формате с плавающей точкой, что приводит к типичным эффектам неточной арифметики.</p>
<p>При проектировании алгоритмов учитываются:</p>
<ul>
<li>
<p>диапазоны допустимых значений;</p>
</li>
<li>
<p>цена перехода к более длинным типам;</p>
</li>
<li>
<p>влияние выбора системы счисления и формата на производительность и объем памяти.</p>
</li>
</ul>
<h2 id="heading-2-11">Значение систем счисления в программировании</h2>
<p>Системы счисления являются фундаментом для большинства технических решений в программировании. Они определяют способы записи констант, взаимодействие с памятью и интерпретацию бинарных данных.</p>
<p>Основные области применения:</p>
<ul>
<li>
<p>языки программирования: поддержка литералов в разных системах (двоичной, восьмеричной, шестнадцатеричной);</p>
</li>
<li>
<p>адресация памяти: представление адресов и смещений в шестнадцатеричном виде для удобства анализа;</p>
</li>
<li>
<p>битовые операции: использование двоичных и шестнадцатеричных масок для работы с флагами и полями;</p>
</li>
<li>
<p>форматы данных: кодирование числовых полей в протоколах и бинарных файлах;</p>
</li>
<li>
<p>отладка и профилирование: анализ дампов памяти, регистров и машинных инструкций.</p>
</li>
</ul>
<p>Типичные практики:</p>
<ul>
<li>
<p>представление флагов и наборов опций через битовые поля;</p>
</li>
<li>
<p>использование шестнадцатеричной записи для чтения и записи байтовых последовательностей;</p>
</li>
<li>
<p>работа с сетевыми адресами и портами, где часть данных может интерпретироваться в разных системах счисления.</p>
</li>
</ul>
<p>Знание принципов работы систем счисления позволяет корректно интерпретировать низкоуровневые данные, избегать ошибок при преобразованиях и уверенно работать с инфраструктурными компонентами.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://cdn6.hexlet.io/IoxeJ4foQ5yD.jpg" alt="" loading="lazy"/></p>
<h2 id="heading-2-12">Исторические и нестандартные системы счисления</h2>
<p>Помимо широко используемых систем существует большое количество исторических и специализированных вариантов, отражающих потребности конкретных культур или задач.</p>
<p>Примеры исторических систем:</p>
<ul>
<li>
<p>шестидесятеричная система древней Месопотамии, сохранившаяся в измерении времени и углов (60 секунд, 60 минут, 360 градусов);</p>
</li>
<li>
<p>римская буквенная система, где числа записывались символами I, V, X, L, C, D, M и их комбинациями;</p>
</li>
<li>
<p>древнеегипетские непозиционные системы, в которых для разных разрядов применялись отдельные символы.</p>
</li>
</ul>
<p>Нестандартные и теоретические системы:</p>
<ul>
<li>
<p>троичная и сбалансированная троичная системы, используемые в исследованиях по теории вычислений и моделированию альтернативных архитектур;</p>
</li>
<li>
<p>факториальная система счисления, где веса разрядов основаны на факториалах и применяются в комбинаторных задачах;</p>
</li>
<li>
<p>остаточные системы счисления, использующие набор модулей и облегчающие параллельную обработку некоторых видов вычислений.</p>
</li>
</ul>
<p>Такие системы демонстрируют, что основание и форма записи чисел — не универсальная константа, а инструмент, который выбирается под конкретный класс задач.</p>
<h2 id="heading-2-13">Ресурсы для изучения систем счисления</h2>
<p>Для углубления понимания систем счисления используются как теоретические, так и практико-ориентированные материалы. Рационально сочетать формальное изложение с решением задач и работой с интерактивными инструментами.</p>
<p>Полезные направления:</p>
<ul>
<li>
<p>учебные пособия по дискретной математике и теории алгоритмов;</p>
</li>
<li>
<p>материалы по архитектуре компьютеров и организации вычислительных систем;</p>
</li>
<li>
<p>справочники по языкам программирования, описывающие форматы числовых литералов и правила преобразования типов;</p>
</li>
<li>
<p>техническая документация по протоколам и форматам данных, где явно задаются системы счисления для полей.</p>
</li>
</ul>
<p>Практические инструменты:</p>
<ul>
<li>
<p>онлайн-конвертеры чисел между разными системами счисления;</p>
</li>
<li>
<p>интерактивные тренажеры, проверяющие умение выполнять переводы вручную;</p>
</li>
<li>
<p>калькуляторы для анализа битовых масок, сдвигов и логических операций;</p>
</li>
<li>
<p>среды отладки, позволяющие переключать представление чисел (двоичное, десятичное, шестнадцатеричное).</p>
</li>
</ul>
<p>Системы счисления остаются базовым понятием для любой ИТ-специализации. Корректная работа с ними обеспечивает предсказуемое поведение программ, надежность хранения данных и прозрачность взаимодействия между компонентами цифровых систем.</p></div><div class="m_3eebeb36 mantine-Divider-root" data-orientation="horizontal" role="separator"></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root"><div style="--group-gap:var(--mantine-spacing-xs);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-inline-start:auto" class="m_4081bf90 mantine-Group-root"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-calendar "><path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12"></path><path d="M16 3v4"></path><path d="M8 3v4"></path><path d="M4 11h16"></path><path d="M11 15h1"></path><path d="M12 15v3"></path></svg><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root" data-inherit="true">3 месяца назад</p></div><div style="--group-gap:var(--mantine-spacing-xs);--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-user "><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path></svg><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root" data-inherit="true">Nikolai Gagarinov</p></div></div></div></div></div></div><style data-mantine-styles="inline">.__m__-_R_5diub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_5diub_{--col-flex-grow:auto;--col-flex-basis:16.666666666666668%;--col-max-width:16.666666666666668%;}}@media(min-width: 62em){.__m__-_R_5diub_{--col-flex-grow:auto;--col-flex-basis:33.333333333333336%;--col-max-width:33.333333333333336%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_5diub_ mantine-visible-from-md"><div style="margin-bottom:var(--mantine-spacing-xl);padding:var(--mantine-spacing-xl);background:var(--mantine-color-blue-0);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Похожие вопросы</p><ul class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/qna/glossary/questions/google-chrome">Google Chrome</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/qna/glossary/questions/drayver">Драйвер</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/qna/glossary/questions/mvp">MVP</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/qna/glossary/questions/dispersiya">Дисперсия</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/qna/glossary/questions/kompyuternyy-virus">Компьютерный вирус</a></span></div></li></ul></div></div></div></div></div></div>
</main>
<footer class="bg-dark fw-light text-light px-3 py-5">
<div class="row small">
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 mb-3">Хекслет</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/about">О нас</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/testimonials">Отзывы</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://b2b.hexlet.io" role="button">Корпоративное обучение</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/blog">Блог</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/qna">Вопросы и ответы</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/glossary">Глоссарий</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://help.hexlet.io" data-target="_blank" role="button">Справка</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" target="_blank" rel="noopener noreferrer" href="/map">Карта сайта</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 fw-normal mb-3">Направления</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_devops">DevOps
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_data_analytics">Аналитика
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_backend_development">Бэкенд
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_programming">Программирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_testing">Тестирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_front_end_dev">Фронтенд
</a></li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Профессии</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/go">Go-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/java">Java-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python">Python-разработчик </a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/data-analytics">Аналитик данных</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/qa-engineer">Инженер по ручному тестированию</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php">РНР-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/frontend">Фронтенд-разработчик</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Навыки</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python-django-developer">Django</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/docker">Docker</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php-laravel-developer">Laravel</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/postman">Postman</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-react-developer">React</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-rest-api">REST API в Node.js</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/spring-boot">Spring Boot</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/typescript">Typescript</a>
</li>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 col-sm-4 col-md-2">
<div class="fs-4">
<ul class="list-unstyled d-flex">
<li class="me-3">
<a aria-label="Telegram" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://t.me/hexlet_ru"><span class="bi bi-telegram"></span>
</a></li>
<li>
<a aria-label="Youtube" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://www.youtube.com/user/HexletUniversity"><span class="bi bi-youtube"></span>
</a></li>
</ul>
</div>
<div class="mb-2 d-flex flex-column">
<a class="link-light text-decoration-none" rel="nofollow" href="mailto:support@hexlet.io">support@hexlet.io</a>
<a class="link-light text-decoration-none py-2" target="_blank" href="https://t.me/hexlet_help_bot">t.me/hexlet_help_bot</a>
</div>
<ul class="list-unstyled d-flex">
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://hexlet.io/locale/switch?new_locale=en" data-target="_self" role="button"><span class="my-auto">EN</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 opacity-100 external-link" rel="nofollow" data-href="https://ru.hexlet.io/locale/switch?new_locale=ru" data-target="_self" role="button"><span class="my-auto">RU</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://kz.hexlet.io/locale/switch?new_locale=kz" data-target="_self" role="button"><span class="my-auto">KZ</span>
</span></li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<ul class="list-unstyled fs-4">
<li class="mb-3">
<a class="link-light text-decoration-none" href="tel:8%20800%20100%2022%2047">8 800 100 22 47</a>
<span class="d-block opacity-50 small">бесплатно по РФ</span>
</li>
<li>
<a class="link-light text-decoration-none" href="tel:%2B7%20495%20085%2021%2062">+7 495 085 21 62</a>
<span class="d-block opacity-50 small">бесплатно по Москве</span>
</li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<div class="small mb-3">Образовательные услуги оказываются на основании Л035-01298-77/01989008 от 14.03.2025</div>
<ul class="list-unstyled small">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/legal">Правовая информация</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/offer">Оферта</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/license">Лицензия</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/contacts">Контакты</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-4 small">
<div class="mb-2">
<div>ООО «<a href="/" class="text-decoration-none link-light">Хекслет Рус</a>»</div>
<div>108813 г. Москва, вн.тер.г. поселение Московский,</div>
<div>г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3</div>
<div>ОГРН 1217300010476</div>
<div>ИНН 7325174845</div>
</div>
<hr>
<div>АНО ДПО «<a href="/" class="text-decoration-none link-light">Учебный центр «Хекслет</a>»</div>
<div>119331 г. Москва, вн. тер. г. муниципальный округ</div>
<div>Ломоносовский, пр-кт Вернадского, д. 29</div>
<div>ОГРН 1247700712390</div>
<div>ИНН 7736364948</div>
</div>
</div>
</footer>
<div id="root-assistant-offcanvas"></div>
<script src="/vite/assets/assistant-Bukl1lYy.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-BrRXra1y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/MarkdownBlock-DbyKWoR_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/shiki-V011pkdv.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-XR8Qr8kR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dist-GCHh59xr.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useIsomorphicEffect-HJ6VK0D3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-KSp6QbZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/classnames-l6ipYlLR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/debounce-jMQ_Cf4f.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v67327c56f0bb4ef8b305cae61679db8f1769101564043" integrity="sha512-rdcWY47ByXd76cbCFzznIcEaCN71jqkWBBqlwhF1SY7KubdLKZiEGeP7AyieKZlGP9hbY/MhGrwXzJC/HulNyg==" data-cf-beacon='{"version":"2024.11.0","token":"d11015b65d11429ea6b4a2ef37dd7e0b","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>