Системы Счисления

Сравнение Расчётов

Скачивания

Включает ваши данные и результаты этого расчёта, а также все дополнительные расчёты, которые вы сравнивали.

Переписывание Одного и Того Же Значения в Двоичной, Восьмеричной, Десятичной и Шестнадцатеричной Системах

Основание системы счисления («радикс») — это сколько различных цифр использует система счисления, прежде чем перейти на следующий разряд — десятичная использует 10 (0–9), двоичная использует 2 (0–1), восьмеричная использует 8 (0–7), а шестнадцатеричная использует 16 (0–9, затем A–F). Введите целое число в любой из этих четырёх систем счисления, и этот калькулятор покажет то же значение, записанное сразу во всех четырёх.

Двоичная система — это то, как компьютеры представляют каждое значение внутренне (каждая цифра — один «бит»); шестнадцатеричная — распространённое сокращение для двоичной в программировании (каждая шестнадцатеричная цифра заменяет ровно 4 двоичные цифры, поэтому её гораздо компактнее читать и вводить); восьмеричная встречается в старых правах доступа к файлам Unix и некоторых низкоуровневых контекстах. Десятичная — это просто повседневная система с основанием 10.

Формула

Каждая позиционная система счисления работает одинаково: каждая цифра умножается на основание, возведённое в степень её разрядного значения, затем суммируется:

Значение=i=0ndi×Основаниеi\vA{\text{Значение}} = \sum_{i=0}^{n} d_i \times \vB{\text{Основание}}^i

где did_i — цифра в позиции ii (считая от 0 с крайней правой цифры). Преобразование в другую систему счисления повторно делит десятичное значение на новое основание, записывая каждый остаток — обратная операция от суммы выше.

Пример Расчёта

Преобразование двоичного 11111111 в остальные три системы счисления:

  1. Читая справа налево, каждая 1 вносит своё разрядное значение: 27+26+25+24+23+22+21+20=2552^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 255.
  2. Десятичная: 255.
  3. Восьмеричная: повторное деление 255 на 8 (255 ÷ 8 = 31 ост. 7, 31 ÷ 8 = 3 ост. 7, 3 ÷ 8 = 0 ост. 3) читает остатки снизу вверх как 377.
  4. Шестнадцатеричная: 255 ÷ 16 = 15 ост. 15, 15 ÷ 16 = 0 ост. 15 — оба остатка равны 15 (F в шестнадцатеричной), давая FF.

Ключевые Факторы, Которые Следует Учитывать

  • Один байт (8 бит) может представлять ровно 256 различных значений — от 0 до 255 в десятичной системе, или от 00 до FF в шестнадцатеричной. Именно поэтому 255/FF — такое распространённое опорное значение в вычислительной технике — это максимальное значение, которое может хранить один байт, что проявляется повсюду: от каналов цвета RGB (0-255 на канал) до сетевых и файловых форматов.
  • Восьмеричная система исторически была более распространена, чем сегодня, во многом из-за старых размеров машинного слова компьютеров. Восьмеричная система (основание 8) аккуратно делится на группы по 3 двоичных разряда, что подходило компьютерам, построенным на размерах слова, кратных 3 битам — современные вычисления в основном перешли на шестнадцатеричную систему (которая делится на группы по 4 бита), поскольку большинство современного оборудования использует размеры слова, кратные 4 и 8, хотя восьмеричная система всё ещё встречается в отдельных контекстах, таких как обозначение прав доступа к файлам Unix (например, chmod 755).
  • Распространённая ошибка программиста — путать основание числа исходя только из контекста. Цифры “10” означают совершенно разные значения в зависимости от основания — 10 в десятичной, 2 в двоичной, 8 в восьмеричной, 16 в шестнадцатеричной системе — именно поэтому языки программирования обычно требуют явного префикса (например, 0x для шестнадцатеричной или 0b для двоичной), чтобы устранить любую неоднозначность относительно того, какое основание имеется в виду.
  • Теоретически любое целое число можно представить в ЛЮБОМ основании, а не только в этих четырёх. Двоичная, восьмеричная, десятичная и шестнадцатеричная системы — это просто четыре основания, наиболее широко используемые в вычислительной технике и повседневной математике — тот же принцип позиционной записи, который использует этот калькулятор, распространяется на любое основание, например основание 3, основание 20 или основание 60 (основа того, как традиционно делятся время и углы).

Частые Ошибки

  • Чтение числа со смешанным основанием без префикса как десятичного по умолчанию. «10» означает десять в десятичной системе, но всего два в двоичной — всегда проверяйте (или указывайте), в каком основании записано число, прежде чем выполнять с ним вычисления.
  • Предположение, что ведущие нули меняют значение. Как и в десятичной системе, 0011 в двоичной — то же значение, что и 11 — ведущие нули важны только для форматирования с фиксированной шириной (например, для отображения полного байта), а не для реального значения числа.
  • Забывание, что шестнадцатеричные цифры выше 9 используют буквы, а не двузначные числа. Шестнадцатеричная десятка записывается как A, а не 10 — запись 10 в шестнадцатеричной системе на самом деле означает шестнадцать в десятичной, что является частым источником значительных ошибок.
  • Попытка напрямую преобразовать отрицательное число. Как отмечено в вопросах выше, отрицательные двоичные/шестнадцатеричные значения зависят от выбранной битовой разрядности и соглашения о дополнительном коде — не существует единого однозначного преобразования, как для неотрицательных целых чисел.

Полезно Знать

  • Работаете с сетевыми адресами, а не с произвольными числами? Калькулятор IP-Подсети применяет то же соотношение двоичной/десятичной систем непосредственно к адресам IPv4.
  • Нужны очень большие или очень маленькие десятичные числа в компактной форме? Калькулятор Научной Записи занимается таким видом преобразования.
  • Интересна гораздо более старая, связанная с позиционной, система нумерации? Калькулятор Римских Цифр переводит в римские цифры и обратно, используя совершенно иной (непозиционный) подход.

Источник: Standard positional numeral system conversion.

Часто Задаваемые Вопросы

Что такое система счисления (основание)?

Основание системы счисления — это сколько различных цифр использует система счисления, прежде чем перейти на следующий разряд. Десятичная (основание 10) использует цифры 0-9; двоичная (основание 2) использует только 0 и 1; восьмеричная (основание 8) использует 0-7; шестнадцатеричная (основание 16) использует 0-9, а затем буквы A-F для представления 10-15.

Почему компьютеры используют двоичную систему?

Компьютерное оборудование построено из переключателей, которые могут быть либо полностью включены, либо полностью выключены, что естественным образом отображается на двух цифрах двоичной системы (1 и 0). Каждое значение, которое компьютер хранит или обрабатывает, в конечном итоге представлено в двоичной форме, хотя программисты обычно работают с более удобными для человека системами, такими как десятичная или шестнадцатеричная.

Почему в программировании используется шестнадцатеричная система вместо двоичной?

Каждая шестнадцатеричная цифра представляет ровно 4 двоичные цифры (бита), поэтому шестнадцатеричное число примерно в четыре раза короче эквивалентного двоичного числа, представляя при этом точно такое же значение — гораздо легче для человека читать, вводить и сравнивать, чем длинную строку из 1 и 0.

Может ли этот калькулятор обрабатывать отрицательные числа?

Нет — представление отрицательного числа в двоичной или шестнадцатеричной системе требует выбора фиксированной битовой разрядности и соглашения о дополнительном коде, которое варьируется в зависимости от контекста (8-битное, 16-битное, 32-битное и т.д.). Этот калькулятор рассчитан на неотрицательные целые числа, где преобразование однозначно.

Подтвердите свой возраст

Чтобы создать учётную запись, укажите месяц и год рождения.