Быстро учимся считать в двоичной и шестнадцатеричной системе

Что такое байт, килобайт, мегабайт и гигабайт?

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

Килобайт — это тысяча байт (1024 байта), больше чем достаточно для хранения нескольких страниц текста или небольшой фотографии.

Мегабайт — это миллион байт (1024 килобайта), что составляет около 1000 страниц текста или 300 фотографий высокого качества.

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

В таблице ниже приведены основные единицы измерения информации:

Единица измерения Количество байт
Килобайт (КБ) 1024
Мегабайт (МБ) 1048576
Гигабайт (ГБ) 1073741824

Правильный выбор единицы измерения при работе с большими объемами данных важен для оптимизации работы и удобства использования.

Зачем нужен двоичный код

Основное назначение двоичного кода – шифрование и кодирование информации.

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

Допустим, нам необходимо закодировать фразу «ХОЛОДНОЕ ЛЕТО».

Установим произвольные соответствия букв двоичному коду: Х – 000, О – 001, Л – 010, Д – 011, Н – 100, Е – 101, Т – 111.

Фото 2. Двоичный код лежит в основе двоичной системы счисления

Тогда закодированная фраза примет следующий вид: 000001010001011100001101010101111001 (36 символов).

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

В данном случае мы имеем дело с однозначно декодируемым кодом (то есть код может быть расшифрован одним единственным способом).

Для сокращения длины кода может применяться неравномерный двоичный код.

Тогда кодировщик сознательно отступает от принципа разрядности, присваивая буквам произвольное число разрядов.

Например, если Х будет иметь обозначение 01, О – 00, Л – 100, Д – 101, Н – 110, Е – 111, Т – 1111, то фразе «ХОЛОДНОЕ ЛЕТО» будет соответствовать строка 01001000010111000111100111111100 (32 символа).

В данной фразе будет однозначно декодироваться фрагмент «ХОЛОДНО», после чего дешифровщику придется ломать голову над выбором приемлемой трактовки кода: «Е ЛЕТО», «Е ЛЕЕЛ», «Е ЛТЕО», «ТОЕЕЛ» и т.д.

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

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

Восьмеричная система счисления

Восьмеричная система когда-то использовалась наравне с шестнадцатеричной. Из названия понятно, что она использует всего восемь цифр: 0, 1, 2, 3, 4, 5, 6 и 7. Восьмеричная система подходит для представления шести-, девяти- и двенадцатиразрядных двоичных чисел.

Такие числа встречаются нечасто. Один из самых известных примеров использования восьмеричных чисел — права доступа в операционной системе UNIX. Они записываются девятизначным двоичным числом, например 110100100 или 111101100. Запоминать и передавать такие числа неудобно, поэтому программисты предпочитают восьмеричную систему счисления, и записывают права доступа в виде 644 или 754.

Популярные операционные системы Linux и MacOS берут своё начало в UNIX, поэтому там права доступа также задаются восьмеричным числом.

Пользователи UNIX используют команду stat, чтобы узнать права доступа, и команду chmod, чтобы изменить их. На рисунке вы видите, что команды stat и chmod используют восьмеричные числа. Подробный рассказ об этих командах выходит за рамки нашей статьи. Узнаете больше о правах доступа, и о том, что означают эти числа, можно изучив командную строку Linux.

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

История[]

Полный набор из 8 триграмм и 64 гексаграмм, аналог 3-битных и 4-битных цифр, был известен в древнем Китае в классических текстах книги Перемен. Порядок гексаграмм в книге Перемен, расположенных в соответствии со значениями соответствующих двоичных цифр (от 0 до 63), и метод их получения был разработан китайским учёным и философом Шао Юн в XI веке. Однако нет доказательств, свидетельствующих о том, что Шао Юн понимал правила двоичной арифметики, располагая двухсимвольные кортежи в лексикографическом порядке.

Индийский математик Пингала (200 год до н. э.) разработал математические основы для описания поэзии с использованием первого известного применения двоичной системы счисления.

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

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

Современная двоичная система была полностью описана Лейбницом в XVII веке в работе Explication de l’Arithmétique Binaire. В системе счисления Лейбница были использованы цифры 0 и 1, как и в современной двоичной системе. Как человек, увлекающийся китайской культурой, Лейбниц знал о книге Перемен и заметил, что гексаграммы соответствуют двоичным числам от 0 до 111111. Он восхищался тем, что это отображение является свидетельством крупных китайских достижений в философской математике того времени.

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

В 1937 Клод Шеннон предствил к защите кандидатскую диссертацию Символический анализ релейных и переключательных схем в MIT, в которой булева алгебра и двоичная арифметика были использованы применительно к электронным реле и переключателям. На диссертации Шеннона по существу основана вся современная цифровая техника.

В ноябре 1937 Джордж Штибиц, впоследствии работавший в Bell Labs, создал на базе реле компьютер «Model K» (от англ. «Kitchen», кухня, где производилась сборка), который выполнял двоичное сложение. В конце 1938 Bell Labs развернула исследовательскую программу во главе со Штибицом. Созданный под его руководством компьютер, завершённый 8 января 1940, умел выполнять операции с комплексными числами. Во время демонстрации на конференции American Mathematical Society в Дармутском колледже 11 сентября 1940 Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа. Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии. Среди участников конференции, бывших свидетелями демонстрации, были Джон фон Нейман, Джон Мокли и Норберт Винер, впоследствии писавшие об этом в своих мемуарах.

Раздел 3: Эффективность работы с двоичными числами

Почему в ЭВМ используется двоичная система счисления? Ответ на этот вопрос связан с эффективностью работы с двоичными числами.

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

Использование двоичной системы счисления в ЭВМ обеспечивает следующие преимущества:

  • Простота представления данных: Двоичные числа легко представляются в виде последовательности 0 и 1, что упрощает их хранение и обработку.
  • Меньшие затраты ресурсов: Использование двоичных чисел позволяет сократить объем используемой памяти и уменьшить количество переключений состояний в электрических схемах, что значительно экономит ресурсы ЭВМ.
  • Более надежная передача данных: Двоичные числа менее чувствительны к помехам и искажениям сигнала, что повышает надежность передачи данных между устройствами.

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

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

Простота реализации и исполнения операций

Двоичная система счисления является основой для работы с данными в электронно-вычислительной машине (ЭВМ). Почему именно двоичная система выбрана для этой цели?

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

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

Одной из особенностей двоичной системы счисления является то, что любая ее операция можно представить с помощью логических операций. Например, сложение двоичных чисел сводится к применению операций И, ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ, а умножение — к циклическому сдвигу и сложению. Это упрощает исполнение арифметических и логических операций в современных процессорах.

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

Минимизация потребления ресурсов

Почему в электронно-вычислительных машинах (ЭВМ) используется двоичная система счисления? Одной из главных причин является минимизация потребления ресурсов.

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

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

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

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

Шестнадцатеричная система счисления

Мы знаем, что компьютер использует числа для представления любой информации. Например, цвета хранятся в виде трёх чисел — яркости красной, зелёной и синей компонентов цвета. На каждый компонент отводится восемь двоичных позиций, поэтому максимальная яркость компонента равна 11111111₂ или 255. Цвет целиком описывается большим 24-х разрядным двоичным числом, например, 11111010 10000000 01110010. Это цвет Salmon из таблицы цветов HTML, он же лососевый цвет.

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

Кажется, что цвет удобнее записать как десятичное число 16416882. Хотя оно занимает меньше места, по нему трудно понять, какова яркость каждого компонента.

Чтобы записывать большие двоичные числа, программисты придумали использовать шестнадцатеричную систему счисления:

  • В десятичной системе десять цифр, а в шестнадцатеричной — шестнадцать
  • В десятичной системе соседние позиции отличаются в десять раз, а в шестнадцатеричной — в шестнадцать раз

Как и в случае с двоичной системой, цифры 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 заимствуются из десятичной системы. Но в данном случае этих цифр не хватает: нужно ещё шесть. Их в шестнадцатеричной системе принято обозначать первыми буквами английского алфавита:

Основание 16 Основание 10 Основание 2
1 1 1
2 2 10
3 3 11
4 4 100
5 5 101
6 6 110
7 7 111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111

Шестнадцатеричная система счисления хороша тем, что группа из четырёх двоичных цифр кодируется одной шестнадцатеричной цифрой. Таким образом, лососевый цвет выглядит как:

В шестнадцатеричной системе счисления он записывается так:

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

Шестнадцатеричное число Десятичное число
1016 16
2016 32
3016 48
4016 64
5016 80
6016 96
7016 112
8016 128
9016 144
A016 160
B016 176
C016 192
D016 208
E016 224
F016 240
10016 256
100016 4 096
1 000016 65 536
10 000016 1 048 576
100 000016 16 777 216
1000 000016 268 435 456
1 0000 000016 4 294 967 296

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

Шестнадцатеричная система счисления и использование в компьютерных науках

Шестнадцатеричная система счисления, также известная как система счисления по основанию шестнадцать, является одной из наиболее распространенных систем счисления, используемых в компьютерных науках и программировании. В этой системе основание равно шестнадцати, и числа обозначаются символами от 0 до 9 и от A до F.

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

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

Шестнадцатеричная система счисления также широко используется в программировании для представления цветов. В системе RGB (Red-Green-Blue), которая используется для определения цвета на компьютерном экране, каждый цвет представлен как комбинация трех шестнадцатеричных чисел. Например, красный цвет может быть представлен числом FF0000, где FF — максимальное значение для красного цвета, а остальные два нуля обозначают минимальные значения для зеленого и синего цветов. Такое представление позволяет точно определить цвет, используемый на экране.

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

Двоично-восьмеричные и двоично-шестнадцатеричные преобразования

Двоичная система счисления удобна для выполнения арифметических действий аппаратными средствами микропроцессора, но неудобна для восприятия человеком, поскольку требует большого количества разрядов. Поэтому в вычислительной технике помимо двоичной системы счисления широкое применение нашли восьмеричная и шестнадцатеричная системы счисления для более компактного представления чисел.
Три разряда двоичной системы счисления реализуют все возможные комбинации восьмеричных цифр в двоичной системе счисления: от 0 (000) до 7(111). Чтобы преобразовать двоичное число в восьмеричное, нужно объединить двоичные цифры в группы по 3 разряда (триады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от него тоже можно добавить незначащие нули до заполнения всех триад. Затем каждая триада заменяется восьмеричной цифрой. Пример: Преобразовать число 1101110,012 в восьмеричную систему счисления.

Объединяем двоичные цифры в триады справа налево. Получаем

001 101 110,0102 = 156,28.

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

156,28 = 001 101 110,0102.

 
Четыре разряда двоичной системы счисления реализуют все возможные комбинации шестнадцатеричных цифр в двоичной системе счисления: от 0 (0000) до F(1111). Чтобы преобразовать двоичное число в шестнадцатеричное, нужно объединить двоичные цифры в группы по 4 разряда (тетрады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от нее тоже нужно добавить незначащие нули до заполнения всех тетрад. Затем каждая тетрада заменяется шестнадцатеричной цифрой.Пример: Преобразовать число 1101110,112 в шестнадцатеричную систему счисления.
Объединяем двоичные цифры в тетрады справа налево. Получаем

0110 1110,11002 = 6E,C16.

Чтобы перевести число из шестнадцатеричной системы в двоичную, нужно каждую шестнадцатеричную цифру записать ее двоичным кодом:

6E,C16 = 0110 1110,11002.

Представление данных и архитектура ЭВМ

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

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

1. Простота и единообразие: В двоичной системе счисления используются всего две цифры — 0 и 1. Это делает систему очень простой и позволяет легко осуществлять операции с числами.

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

3. Легкость в проектировании электронных устройств: Многие электронные устройства, такие как компьютеры и микроконтроллеры, работают в основном с двоичными данными. Использование двоичной системы позволяет существенно упростить проектирование и программирование таких устройств.

4. Минимизация ошибок: В двоичной системе каждая цифра отражает состояние какого-то параметра (например, включено/выключено или истина/ложь). Это позволяет уменьшить вероятность возникновения ошибок при передаче, хранении и обработке данных.

5. Эффективное использование ресурсов: В двоичной системе используется минимальное количество битов для описания числа. Это позволяет эффективно использовать ресурсы, такие как память и пропускная способность сети.

6. Простота в расчетах: В двоичной системе счисления сложение, вычитание, умножение и деление выполняются намного проще и быстрее, чем в других системах.

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

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

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

1. Порядковый счет в различных системах счисления.

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

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

Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.

Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение для 2-ной системы, для 3-ной и т.д.):

1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы ( и ):

1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

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

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

Пример 1. Переведем десятичное число 46 в двоичную систему счисления.

Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.

Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.

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

Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа. Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.

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

Это и есть десятичная запись нашего числа, т.е.

Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.

Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.

4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).

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

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

Таблицу соответствия мы научились строить в п.1.

1 1
10 2
11 3
100 4
101 5
110 6
111 7

Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.

1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.

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

Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.

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

Понравилась статья? Поделиться с друзьями:
Бронивиль
Добавить комментарий

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