Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить бесплатно
Главная БлогДвоичная система счисления: пресловутые нолики и единички
Общепринятые системы счисления

Двоичная система счисления: пресловутые нолики и единички

Дата публикации: 19.12.2022
5 155
Время чтения: 16 минут
Дата обновления: 23.10.2023
В статье рассказывается:

О чем речь? Можно с уверенностью назвать двоичную систему счисления одной из основных, которые используются в вычислительной технике. А значит, привычные нам компьютер и смартфон применяют 0 и 1 для расчетов.

На что обратить внимание? Стоит отметить, что такая «популярность» – это дань традиции, заложенной праотцом вычислительных машин Блезом Паскалем. И все же, порой, нужно переводить показатели двоичной системы в 10-ю или 16-ю. Как же это сделать?

В статье рассказывается:

  1. Общепринятые системы счисления
  2. Числа, используемые в двоичной системе счисления
  3. Сложение, вычитание и умножение в двоичной системе счисления
  4. Как переводить числа в двоичной системе счисления в десятичную
  5. Алгоритм перевода из двоичной системы счисления в шестнадцатеричную
  6. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Общепринятые системы счисления

Человечество в ходе своего развития со временем стало нуждаться в способах подсчета. Нужно было считать, например, количество добычи или убитых врагов из других племен. И эта нужда у древних людей только возрастала. Поначалу пользовались абстрактными понятиями типа «нисколько», «один», «много». Затем в употребление вошла «пара», означающая два каких-то предмета. Уже одно это нововведение существенно упростило жизнь древнему человеку.

Общепринятые системы счисления
Общепринятые системы счисления

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

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

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

Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 30006 pdf иконка

Любая система счисления принадлежит к одной из двух категорий:

Позиционные СС

Конкретное значение числа определяется не только цифрами, но и их позицией. Сюда относят арабскую систему, где первый разряд справа отведен для единиц, второй разряд справа — для десятков, третий разряд справа — для сотен и т. д. Таким образом, для записи числа 475 необходимо в крайней правой позиции расположить пятерку (пять единиц), после нее — семерку (семь десятков) и затем — четверку (четыре сотни). Позиционными считаются также системы счисления с основаниями (2, 8, 16).

Непозиционные СС

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

К примеру, число 475 римскими цифрами может выглядеть как CCCCXXXXXXXIIIII либо, в сокращенном виде, как CDLXXV. В последнем варианте используются именно вычитание и прибавление. Значение цифры, стоящей слева от большего числа, отнимается соответственно от этого числа. Если эта цифра стоит справа, то значение прибавляется.

Впервые позиционная система счисления была введена в Вавилоне. Примечательно, что она была шестнадцатеричная. К 19 веку распространение получила двенадцатеричная система.

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

Непозиционные СС
Непозиционные СС

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

Числа, используемые в двоичной системе счисления

Состав двоичной системы счисления — цифры 0 и 1. Основание равно 2. В крайней правой позиции числа указывается количество единиц, левее — количество двоек, затем количество четверок и т. д.

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

10112 = 1*23 + 0*2*2+1*21+1*20 =1*8 + 1*2+1=1110

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

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

С точки зрения вычислительной техники любое сохраняемое число представляет собой машинное слово, арифметические и логические операции над которым выполняет арифметико-логическое устройство (АЛУ). Чтобы компьютеру было проще работать с регистрами, они нумеруются (или наделяются адресами).

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

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

Специальные программы (драйверы клавиатуры и экрана) преобразуют эти сигналы в читаемый вид путем обращения к кодовой таблице. Например, стандарт Unicode позволяет закодировать таким образом 65536 символов. Именно так используется двоичная система счисления в информатике — нули и единицы преобразуются программным способом в текст и изображения на экране.

Числа, используемые в двоичной системе счисления
исла, используемые в двоичной системе счисления

Далее приведем очевидные достоинства использования двоичного способа представления информации.

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

Дарим скидку от 60%
на обучение «Инженер-программист» до 22 сентября
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Недостатки:

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

Сложение, вычитание и умножение в двоичной системе счисления

Для того, чтобы складывать числа, пользуются следующей таблицей:

+ 0 1
0 0 1
1 1 10 (переход в старший разряд)

Таблица вычитания в двоичной системе счисления выглядит так:

0 1
0 0 1
1 (взятие из старшего разряда) 1 0
Только до 23.09
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Умножение выполняется по следующей таблице:

* 0 1
0 0 0
1 0 1

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

Сперва приведем алфавиты трех используемых систем — двоичной, десятичной и шестнадцатеричной.

Основание Наименование системы Алфавит
2 Двоичная 0, 1
10 Десятичная 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
16 Шестнадцатеричная 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

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

512 256 128 64 32 16 8 4 2 1

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

В качестве примера переведем число 1011011 двоичной системы счисления в 10-ный формат (число 91):

0*2+1=1>>1*2+0=2>>2*2+1=5>>5*2+1=11>>11*2+0=22>>22*2+1=45>> 45*2+1=91.

А конвертация 101111 в десятичную систему даст число 47:

0*2+1=1>>1*2+0=2>>2*2+1=5>>5*2+1=11>> 11*2+1=23 >> 23*2+1=47

НУЖНА КАРТИНКА

Таким же образом можно переводить и дробные числа. Для примера возьмем 1011010, 101 в двоичной системе счисления. Перевод чисел в десятичную можно осуществлять в таком виде:

1*26 + 0*25 + 1*24 + 1*2 + 0 *22 + 1 * 21 + 0 * 20 + 1 * 2-1 + 0 * 2-2 + 1 * 2-3 = 90,625

Иначе говоря, расчет будет следующим:

1*64+0*32+1*16+1*8+0*4+1*2+0*1+1*0,5+0*0,25+1*0,125 = 90,625

Полученное значение в десятичной системе также высчитывается по таблице:

64 32 16 8 4 2 1 0,5 0,25 0,125
1 0 1 1 0 1 0. .1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +1.125

Алгоритм перевода из двоичной системы счисления в шестнадцатеричную

Здесь необходимо выполнить 2 шага:

  1. Перевод числа из двоичной системы в десятичную
  2. Преобразование полученного значения в шестнадцатеричный формат

К примеру, имеется число 1011101 в двоичной системе счисления. Запись чисел для выполнения первого шага осуществляется по формуле:

A2 = an-1 ∙ 2n-1 + an-2 ∙ 2n-2 + ∙∙∙ + a0 ∙ 20

Подставляем значения:

10111012=1 ∙ 26 + 0 ∙ 25 + 1 ∙ 24 + 1 ∙ 23 + 1 ∙ 22 + 0 ∙ 21 + 1 ∙ 20 = 1 ∙ 64 + 0 ∙ 32 + 1 ∙ 16 + 1 ∙ 8 + 1 ∙ 4 + 0 ∙ 2 + 1 ∙ 1 = 64 + 0 + 16 + 8 + 4 + 0 + 1 = 9310

Теперь полученное десятичное число необходимо преобразовать в шестнадцатеричное. Для этого 93 многократно последовательно делим на 16 до тех пор, пока остаток не станет меньше 16.

В процессе деления остатки нужно записывать в обратном порядке. Результатом всех операций будет число 9310=5D16.

НУЖНА КАРТИНКА

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

Вновь покажем это на примере. Преобразуем двоичное число 10001100.110 сначала в десятичную систему по формуле:

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m

Подставляем наши значения:

10001100.1102=1 ∙ 27 + 0 ∙ 26 + 0 ∙ 25 + 0 ∙ 24 + 1 ∙ 23 + 1 ∙ 22 + 0 ∙ 21 + 0 ∙ 20 + 1 ∙ 2-1 + 1 ∙ 2-2 + 0 ∙ 2-3 = 1 ∙ 128 + 0 ∙ 64 + 0 ∙ 32 + 0 ∙ 16 + 1 ∙ 8 + 1 ∙ 4 + 0 ∙ 2 + 0 ∙ 1 + 1 ∙ 0.5 + 1 ∙ 0.25 + 0 ∙ 0.125 = 128 + 0 + 0 + 0 + 8 + 4 + 0 + 0 + 0.5 + 0.25 + 0 = 140.7510

Следует отметить сильное сходство формул расчетов дробного и целого десятичных чисел. Тем не менее, отличия также имеются.

Вторым этапом переводим число 140,75 в шестнадцатеричный формат. Это делается в два подэтапа:

  1. Перевод отдельно целой части числа.
  2. Перевод отдельно дробной части числа.
Итак, нам необходимо сначала преобразовать 140 в шестнадцатеричную систему счисления, последовательно деля это число на 16, пока остаток не станет меньше делителя.

После записи остатков в обратном порядке получаем результат: 14010=8C16

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

В нашем случае это будет выглядеть так: 0.75 * 16 = 12.0 (C).

Поскольку после первого же умножения дробная часть обнулилась, дальнейшие итерации прекращаем. Итоговый результат: 0.12 (0.С) или, иначе, 0.75 ∙ 16 = 12.0 (C)

Остался последний этап — соединение преобразованных целой и дробной частей: 140.7510=8C.C16. Это и будет общим решением всей задачи.

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

Привлекает мир кодирования и создания программ? На курсе программиста с нуля до Junior вы освоите основы, познакомитесь с языками и инструментами разработки, и станете готовы к созданию своих первых проектов в IT-индустрии.
Оцените статью:
3
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
Читайте также
prev
next
Бесплатные вебинары:
prev
next
Как работает дизайн-студия на примере одного кейса 

Как работает дизайн-студия на примере одного кейса 

Узнать подробнее
Инновационные подходы к обучению информационным технологиям

Инновационные подходы к обучению информационным технологиям

Узнать подробнее
Как стать Python-разработчиком

Как стать Python-разработчиком

Узнать подробнее
Что нужно знать разработчику

Что нужно знать разработчику

Узнать подробнее
Кто такой тестировщик и как им стать

Кто такой тестировщик и как им стать

Узнать подробнее
Чем занимается программист и как им стать

Чем занимается программист и как им стать

Узнать подробнее
Как искусственный интеллект помогает и мешает задачам кибербезопасности

Как искусственный интеллект помогает и мешает задачам кибербезопасности

Узнать подробнее
Бесплатный вебинар про внедрение искусственного интеллекта

Бесплатный вебинар про внедрение искусственного интеллекта

Узнать подробнее
Какие есть профессии в ИТ

Какие есть профессии в ИТ

Узнать подробнее
Смените профессию,
получите новые навыки,
запустите карьеру
Поможем подобрать обучение:
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...