Перейти к основному содержимому

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

Двоичные данные в компьютерной технике

Коротко

Двоичная система счисления записывает числа только двумя цифрами: 0 и 1. Чтобы не путать системы счисления, в этой главе двоичные числа отмечаются индексом , а десятичные - индексом ₁₀. Например: 1011₂ = 11₁₀.

Зачем это нужно

Человек в повседневной жизни чаще использует десятичную систему счисления с десятью цифрами: от 0 до 9. Цифровой электронике удобно различать два устойчивых состояния, поэтому внутри компьютерной техники числа, команды, символы, звук и изображения представляются последовательностями 0 и 1.

Двоичная запись встречается при изучении:

  • памяти и типов данных;
  • цифровой электроники;
  • сетевых адресов и протоколов;
  • прав доступа и флагов;
  • микроконтроллеров;
  • логических и битовых операций.

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

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

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

ЗаписьСистема счисленияЗначение в десятичной системе
10₁₀десятичнаядесять
10₂двоичнаядва
101₁₀десятичнаясто один
101₂двоичнаяпять

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

Важно

Запись 1011 без индекса неоднозначна. Запись 1011₂ однозначно означает двоичное число, а 1011₁₀ - десятичное.

Главная идея

В позиционной системе значение цифры зависит от ее места - разряда.

  • в десятичной системе веса разрядов равны степеням числа 10;
  • в двоичной системе веса разрядов равны степеням числа 2.
десятичные веса: 10⁰ = 1, 10¹ = 10, 10² = 100, 10³ = 1000
двоичные веса: 2⁰ = 1, 2¹ = 2, 2² = 4, 2³ = 8

Разряды и степени двойки

В таблице исходное значение указано сначала в десятичной системе, затем - в двоичной.

Исходное число, десятичная ССДвоичная записьСтепени двойкиРазложение
0₁₀0000₂нет выбранных степеней0₁₀
1₁₀0001₂2⁰1₁₀
2₁₀0010₂2₁₀
3₁₀0011₂, 2⁰2₁₀ + 1₁₀
5₁₀0101₂, 2⁰4₁₀ + 1₁₀
8₁₀1000₂8₁₀
11₁₀1011₂, , 2⁰8₁₀ + 2₁₀ + 1₁₀
13₁₀1101₂, , 2⁰8₁₀ + 4₁₀ + 1₁₀

Разберем число 1011₂ по разрядам.

ПозицияСтепеньВес в десятичной ССДвоичная цифраВклад в результат
четвертая справа8₁₀18₁₀
третья справа4₁₀00₁₀
вторая справа2₁₀12₁₀
первая справа2⁰1₁₀11₁₀
1011₂ = 1 · 8₁₀ + 0 · 4₁₀ + 1 · 2₁₀ + 1 · 1₁₀ = 11₁₀

Перевод из двоичной системы в десятичную

Чтобы перевести двоичное число в десятичное:

  1. подпиши веса разрядов справа налево: 1₁₀, 2₁₀, 4₁₀, 8₁₀ и далее;
  2. выберите веса, под которыми стоит двоичная цифра 1;
  3. сложи выбранные значения.

Пример 1

0110₂ = 0 · 8₁₀ + 1 · 4₁₀ + 1 · 2₁₀ + 0 · 1₁₀ = 6₁₀

Пример 2

1001₂ = 1 · 8₁₀ + 0 · 4₁₀ + 0 · 2₁₀ + 1 · 1₁₀ = 9₁₀

Пример 3

1111₂ = 1 · 8₁₀ + 1 · 4₁₀ + 1 · 2₁₀ + 1 · 1₁₀ = 15₁₀

Перевод из десятичной системы в двоичную

Для небольшого числа удобно разложить его на степени двойки.

Пример: 13₁₀

Используем веса 8₁₀, 4₁₀, 2₁₀, 1₁₀:

13₁₀ = 8₁₀ + 4₁₀ + 1₁₀
Вес в десятичной СС8₁₀4₁₀2₁₀1₁₀
Степень двойки2⁰
Используется?1101

Получается:

13₁₀ = 1101₂

Еще два примера

6₁₀ = 4₁₀ + 2₁₀ = 0110₂
10₁₀ = 8₁₀ + 2₁₀ = 1010₂

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

Бит и байт в двоичной записи

Один двоичный разряд называется битом. В каждом бите находится 0 или 1.

Количество различных комбинаций для n бит равно 2ⁿ.

Количество битЧисло комбинаций, десятичная ССДиапазон без знака, десятичная ССДвоичный диапазон
1₁₀ бит2₁₀от 0₁₀ до 1₁₀от 0₂ до 1₂
2₁₀ бита4₁₀от 0₁₀ до 3₁₀от 00₂ до 11₂
4₁₀ бита16₁₀от 0₁₀ до 15₁₀от 0000₂ до 1111₂
8₁₀ бит256₁₀от 0₁₀ до 255₁₀от 00000000₂ до 11111111₂

Восемь бит образуют один байт. Максимальное беззнаковое значение одного байта:

11111111₂ = 255₁₀

Значение 255₁₀ часто встречается в учебном программировании как максимальное значение одного байта. Однако диапазоны конкретных функций и устройств всегда нужно проверять по документации.

Что значит «без знака»

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

Двоичные данные в компьютере

Последовательность битов не обязательно используется как число. Например, 01000001₂ можно прочитать как:

  • число 65₁₀;
  • код латинского символа A в подходящей кодировке;
  • восемь отдельных логических признаков;
  • часть команды или изображения.

Смысл задается типом и форматом данных. Подробно эта тема рассматривается в главе «Хранение данных в памяти».

Двоичные состояния в роботах

Комбинации состояний датчиков мобильного робота

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

Левый датчик, состояниеПравый датчик, состояниеВозможная реакция программы
00искать линию
01корректировать движение вправо
10корректировать движение влево
11ехать прямо

Конкретный смысл состояний зависит от подключения и программы. Например, у одного датчика 1 может означать «линия обнаружена», а у другого модуля то же событие может обозначаться 0.

Две линии сигналов образуют четыре комбинации. Их можно рассматривать и как двоичные коды:

00₂ = 0₁₀
01₂ = 1₁₀
10₂ = 2₁₀
11₂ = 3₁₀

Что запомнить про двоичную систему

Десятичная системаДвоичная система
использует цифры от 0 до 9использует цифры 0 и 1
веса разрядов: степени 10веса разрядов: степени 2
запись 10₁₀ означает десятьзапись 10₂ означает два
привычна для повседневного счетаудобна для цифровой техники

Главное правило записи в учебных примерах:

двоичное число: индекс ₂
десятичное число: индекс ₁₀

Практика

Задание 1

Переведи числа из двоичной системы в десятичную.

Двоичное числоДесятичное значение
0011₂
0101₂
1000₂
1111₂

Задание 2

Переведи числа из десятичной системы в двоичную, используя веса 8₁₀, 4₁₀, 2₁₀, 1₁₀.

Десятичное числоДвоичная запись
6₁₀
9₁₀
12₁₀
14₁₀

Задание 3

У устройства есть три цифровых входа. Запишите все трехбитные комбинации, в которых ровно один вход имеет состояние 1. Рядом укажите значение каждой комбинации в десятичной системе.

Проверьте себя

  • Почему запись числа без указания системы счисления может быть неоднозначной?
  • Какое десятичное значение имеет 1001₂?
  • Как записать 12₁₀ в двоичной системе?
  • Почему вес каждого следующего двоичного разряда увеличивается в 2₁₀ раза?
  • Сколько комбинаций можно записать четырьмя битами?
  • Почему набор битов не всегда является числом?
Ориентиры для самопроверки

Сначала ответьте без подсказки. Ответ можно считать полным, если вы:

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

Если один из пунктов объяснить не получается, найдите соответствующую главу статьи, перечитайте её и повторите ответ.

Словарь статьи

  • Система счисления - способ записи чисел с помощью цифр и разрядов.
  • Двоичная система - система счисления с цифрами 0 и 1.
  • Десятичная система - система счисления с цифрами от 0 до 9.
  • Основание системы счисления - количество разных цифр, используемых системой.
  • Разряд - позиция цифры в записи числа.
  • Вес разряда - значение разряда, определяемое степенью основания системы.
  • Бит - один двоичный разряд.
  • Байт - группа из восьми бит.
  • Двоичный код - последовательность битов, смысл которой определяется правилами использования.

Связанные темы

Источники