Двоичная система в информатике и программировании

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

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

Простота и надежность: В двоичной системе кодирования используются всего два символа — 0 и 1, что делает эту систему простой в понимании и реализации. Наличие только двух состояний позволяет легко определить, является ли сигнал высоким (1) или низким (0). Благодаря этому, двоичная система кодирования обеспечивает надежную передачу и хранение информации.
Универсальность: Двоичная система кодирования является универсальной и может быть использована для представления различных типов информации. Она применяется в компьютерах для представления чисел, текста, аудио-, видеоданных и т.д. Благодаря своей универсальности, двоичная система кодирования может работать с любыми типами данных.
Простота схем сравнения и логических операций: В двоичной системе кодирования сравнение и выполнение логических операций производятся очень просто. Простота этих операций облегчает разработку и реализацию электронных устройств, таких как процессоры и логические вентили.
Эффективность хранения и передачи информации: Двоичная система кодирования позволяет эффективно хранить и передавать информацию. Все данные в компьютере хранятся и передаются в виде двоичных чисел, что позволяет минимизировать объемы памяти и битовых потоков

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

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

Основные понятия

Бит — это основная единица информации в двоичной системе, которая может принимать одно из двух возможных значений: 0 или 1.

Байт — это последовательность из восьми битов. Байт используется для представления одного символа в компьютерных системах и может принимать значения от 0 до 255.

Наиболее распространенным способом представления чисел в восьмибитной двоичной записи является прямое представление, в котором значение числа представляется непосредственно в виде битов. Например, число 6 будет представлено в виде последовательности 00000110.

Дополнительный код — это метод представления отрицательных чисел в восьмибитной двоичной записи. Знаковый бит устанавливается в 1 для отрицательных чисел и в 0 для положительных чисел, а само значение числа хранится в оставшихся семи битах. Например, число -6 будет представлено в виде последовательности 11111010.

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

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

Что такое двоичная запись?

В двоичной записи каждая позиция числа имеет вес, который равен степени двойки. Например, в числе 1101 (в двоичной системе) первая позиция справа имеет вес 2^0 = 1, вторая позиция справа имеет вес 2^1 = 2, третья позиция справа имеет вес 2^2 = 4, и четвертая позиция справа имеет вес 2^3 = 8. Число 1101 в двоичной записи можно интерпретировать как 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 8 + 4 + 0 + 1 = 13.

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

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

Преимущества двоичной записи:

  • Простота: система двоичной записи использует всего два символа, что делает ее очень простой и понятной для компьютеров.
  • Надежность: двоичная запись устойчива к помехам, поскольку вся информация представлена с помощью электрических сигналов «включено» и «выключено».
  • Эффективность: двоичная запись позволяет компьютерам быстро и эффективно обрабатывать информацию, так как она соответствует внутреннему устройству компьютерных систем.

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

Что такое восьмибитная?

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

Восьмибитная система также используется для представления целых чисел, диапазон которых может варьироваться от 0 до 255. Это связано с тем, что восьмибитная система может выразить до 256 разных значений, включая ноль.

Например, число 42 в восьмибитной системе записывается как 00101010, где каждый бит указывает на наличие или отсутствие соответствующей степени двойки в числе.

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

Видео:Перевод числа в двоичную систему за два шага!!!Скачать

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

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


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

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

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

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

Узнай, какие ИТ — профессии входят в ТОП-30 с доходом от 210 000 ₽/мес

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

Команда GeekBrains совместно с международными специалистами по развитию карьеры
подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в
IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее
будущее!

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

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

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

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

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

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

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

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

Получить подборку бесплатно

pdf 3,7mb
doc 1,7mb

Уже скачали 27850

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

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

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

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

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

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

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

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


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

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

Преимущества использования восьмибитного двоичного числа

1. Компактность:

Восьмибитное двоичное число занимает только 8 бит памяти, что делает его очень компактным и экономичным в использовании

Это особенно важно в случаях, когда требуется хранить или передавать большое количество чисел или данных

2. Широкое использование в компьютерных системах:

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

3. Поддержка различных операций и алгоритмов:

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

4. Простота и понятность:

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

5. Возможность работы с различными периферийными устройствами:

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

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

Преобразование десятичных чисел в двоичные

Одним из алгоритмов перевода десятичного числа в двоичное является деление нацело на 2 с последующим «сбором» двоичного числа из остатков деления. Например, для перевода десятичного числа 14 в двоичное представление необходимо выполнить следующие действия:

  14 / 2 = 7, остаток 0 — младший разряд двоичного числа
   7 / 2 = 3, остаток 1
   3 / 2 = 1, остаток 1
   1 / 2 = 0, остаток 1 — старший разряд двоичного числа

Таким образом, результат преобразования будет следующим: 1410 = 11102

Преобразование дробных десятичных чисел в двоичные

Если в исходном числе есть целая часть, то она преобразуется отдельно от дробной. Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:

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

Например, для перевода дробного десятичного числа 206,625 в дробное двоичное число необходимо выполнить следующие действия:

  • производим перевод целой части, где в итоге получаем 20610 = 110011102;
  • далее действуем в соответствии с алгоритмом перевода дробной части; целые части произведений, полученных в каждом шаге (выделены жирным шрифтом), являются разрядами искомой дробной части:
  0,625·2 = 1,25
  0,25·2  = ,5
  0,5·2   = 1,0

Таким образом, получаем значение дробной части 0,62510 = 1012 и в целом имеем результат: 206,62510 = 11001110,1012

Дополнительный код (дополнение до двух)

Нумерация двоичных чисел в представлении c дополнением до двух.

Чаще всего для представления отрицательных чисел используется код с дополнением до двух (англ. Two’s complement).

Алгоритм получения дополнительного кода числа:

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

В качестве примера переведём число в дополнительный восьмибитный код. Прямой код модуля : , обратный — , прибавляем , получаем , приписываем в качестве знакового разряда, в результате получаем .

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

Для получения из дополнительного кода самого числа нужно инвертировать все разряды кода и прибавить к нему единицу. Можно проверить правильность, сложив дополнительный код с самим числом: результат должен быть равен . Переведём обратно. Инвертируем — , прибавляем , получаем — модуль исходного числа . Проверим: .

Можно получить диапазон значений .

Длинная арифметика для чисел, представленных с помощью кода с дополнением до двух

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

Достоинства представления чисел с помощью кода с дополнением до двух

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

Недостатки представления чисел с помощью кода с дополнением до двух

Ряд положительных и отрицательных чисел несимметричен, но это не так важно: с помощью дополнительного кода выполнены гораздо более важные вещи, желаемые от способа представления целых чисел.
В отличие от сложения, числа в дополнительном коде нельзя сравнивать как беззнаковые, или вычитать без расширения разрядности.

Несмотря на недостатки, дополнение до двух в современных вычислительных системах используется чаще всего.

Алгоритмы перевода в системы счисления по разным основаниям

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

  1. Представить число в развернутой форме. При этом основание системы счисления должно быть представлено в десятичной системе счисления.
  2. Найти сумму ряда. Полученное число является значением числа в десятичной системе счисления.

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

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

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

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

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

Перевод произвольных чисел, т.е. содержащих целую и дробную часть, осуществляется в два этапа:

  1. Отдельно переводится целая часть.
  2. Отдельно переводится дробная.
  3. В итоговой записи полученного числа целая часть отделяется от дробной запятой.

Перевод чисел из двоичной системы счисления в систему счисления с основанием q=2n

Для облегчения решения задач заполним следующую таблицу: 

 Десятичная  Двоичная  Восьмеричная  Шестнадцатеричная
1 1 1
2 10 2
3 11 3
4 100  4 4
5 101 5 5
6 110  6
7 111 7 7
8 1000 10 8
9 1001 11  9
10 1010 12  A
11 1011 13 
12 1100 14 
13 1101 15 
14 1110 16 
15 1111 17 

Если основание q-ричной системы счисления является степенью числа 2, то перевод чисел из q-ричной систему счисления в 2-ичную и обратно можно проводить по более простым правилам.

  1. Двоичное число разбить справа налево на группы по n в каждой.
  2. Если в левой последней группе окажется меньше n разрядов, то её надо дополнить слева нулями до нужного числа разрядов.
  3. Рассмотреть каждую группу как n-разрядное двоичное число и записать её соответствующей цифрой в системе счисления с основанием q=2n

Двоичная арифметика

Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным правилам. 

Сложение

Рассмотрим сложение чисел в двоичной системе счисления

В основе лежит таблица сложения одноразрядных двоичных чисел: 
0+0=00+1=11+0=11+1=101+1+1=11

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

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

Вычитание

Рассмотрим вычитание двоичных чисел. В основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначается 1 с чертой. 
0-0=00-1=111-0=11-1=0

Умножение

В основе умножения лежит таблица умножения одноразрядных двоичных чисел: 
0*0=00*1=01*0=01*1=1

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

Деление

Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления.

Восьмибитное двоичное число в графических форматах

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

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

Восьмибитное двоичное число позволяет использовать до 256 различных значений для каждого из трех цветовых каналов. Это позволяет создавать миллионы различных цветовых оттенков, что позволяет достичь высокой точности представления цветов на экране.

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

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

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

Понравилась статья? Поделиться с друзьями:
Опытный компьютерщик
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: