01. Цели изучения курса информатики и ИКТ. Техника безопасности и организация рабочего места (полный урок)
12 мин
02. Общие сведения о системах счисления
21 мин
03. Двоичная система счисления. Двоичная арифметика
22 мин
04. Качественные и количественные характеристики информации
18 мин
05. Операции над двоичными числами. Измерение информации. Системы кодирования информации
7 мин
06. Защита информации. Информатизация и информационно-технологическая культура
07. Модели, их назначение, свойства и виды
9 мин
08. Информационные (нематериальные) модели. Компьютерное моделирование
22 мин
09. Восьмеричная и шестнадцатеричная системы счисления. Компьютерные системы счисления
19 мин
10. Перевод десятичных чисел в систему счисления с основанием Q. Арифметические действия в системах счисления
25 мин
11. Представление целых чисел. Представление вещественных чисел
32 мин
12. Элементы алгебры логики
19 мин
13. Логические операции. Таблицы истинности
36 мин
14. Логические операции следования и равносильности. Законы алгебры логики
18 мин
15. Решение логических задач
18 мин
16. Способы записи алгоритмов
24 мин
Видео доступно по абонементу
Как мы уже знаем, в информационных технологиях основной является двоичная система счисления. Но, к сожалению, она не всегда удобна для представления данных.
Представьте, что во время ввода текста на клавиатуре коды клавиш преобразуются в определённую закодированную информацию в виде нулей и единиц. Например, число 12 345 в двоичном виде будет представляться как 0011000000111001.
Согласитесь, такое представление числа выглядит громоздким. Человеку будет весьма проблемно оперировать настолько длинными числами в расчётах, поэтому давайте попробуем сократить запись длинных двоичных чисел.
Например, при группировке двоичных символов по три разряда, в триады, мы можем получить запись в восьмеричном формате. Это значит, что алфавит нашей знаковой системы будет иметь 8 символов: от 0 до 7. Три двоичных нуля будут объединяться в восьмеричный ноль, а три двоичных единицы — в восьмеричную семёрку. Это легко проследить, если выписывать подряд числа от 0 до 7 в двоичном виде:
Давайте вспомним, как мы считаем на пальцах. У человека на руках всего 10 пальцев. С их помощью мы можем представлять числа в различных диапазонах.
Если просто поднимать пальцы по очереди, мы можем представить числа до 10, но если ввести дополнительные знаки, например показывать на один из пальцев, мы сможем представить уже числа до 100: номер пальца, на который показываем, обозначает десятки, а количество поднятых пальцев — единицы. Но, кроме пальцев на руках, у человека есть ещё и промежутки между пальцами, которых 8. Таким образом, можно создать систему счёта, основанную на этих промежутках. На Земле сейчас существует единственный язык, в котором используется такой способ счёта — язык мексиканских индейцев паме. На этом языке разговаривают около 10 000 человек. Паме был изучен лишь в 1975 году, и только в 2005 году исследователями было доказано применение восьмеричного счёта в этом языке.
В компьютерных системах восьмеричная форма записи чисел была актуальна с 1950-х годов и до середины 1960-х. В то время отличительной особенностью компьютеров было то, что в байт объединялось не 8 бит, как сейчас, а 6.
В этом случае было удобно разделять их на группы по 3 для минимизации записи чисел. Таким способом значение 6-битного числа упрощалось до двух восьмеричных символов, каждый из которых отвечал за три бита.
Если же группировать двоичные символы по 4 разряда (тетрады), то мы получим уже 16 вариантов. Каждый из таких вариантов можно представить своим знаком, их будет 16. Их можно обозначить 16 символами, и для этого удобно использовать шестнадцатеричную систему счисления.
Конечно, далеко от двоичной системы мы здесь не уйдём, поскольку как бы не осуществлялась группировка разрядов, всё равно мы работаем с системами, основание которых равно степени двойки. 2 в 3-й степени равно 8, 2 в 4-й — 16. Но при этом мы не рассматриваем четверичную систему счисления, поскольку на фоне двоичной системы мы не получим существенного упрощения записи числа.
Вернёмся к шестнадцатеричной системе. Для привычной нам десятичной системы счисления используется 10 цифр, однако для представления шестнадцатеричного числа такого количества цифр уже не хватит. Как представить цифру, обозначающую 10 или 11?
Конечно, можно так и писать эти цифры, например 10. Но тогда легко перепутать с числами в других системах счисления. Да и в самой записи можно будет спутать число 10 с цифрами 1 и 0.
Можно, конечно, изобрести новые цифры именно для тех систем счисления, где основание больше десяти, но лучше поступить проще — использовать буквы латинского алфавита. Тогда для шестнадцатеричной системы счисления алфавит будет выглядеть так: 10 привычных нам цифр от 0 до 9 и ещё 6 цифр в виде латинских букв: A, B, C, D, E и F, означающих соответственно 10, 11, 12, 13, 14 и 15.
Соответствующие числа в двоичной системе будут выглядеть следующим образом.
Если говорить о современных компьютерах и способах упрощения двоичного представления чисел, то можно сделать вывод, что шестнадцатеричная система счисления подходит для этой цели лучше. Числа в памяти компьютера хранятся группами по 8 двоичных символов — байтами. Поскольку 1 байт состоит из 8 бит, то делить его на группы по 3 двоичных знака не будет удобно, ведь мы не сможем использовать полноценно восьмеричную систему для записи двух оставшихся разрядов числа.
В этом случае удобнее разделить двоичное число на группы именно по 4 разряда. Таким образом, для минимизации записи двоичного числа нам гораздо удобнее использовать шестнадцатеричную форму записи.
А можно ли объединить сразу 8 разрядов в один символ? 2⁸ = 256, то есть для этого нам понадобится двухсотпятидесятишестеричная система счисления. Теоретически можно использовать и её. Но представьте, сколько символов придётся держать в голове и насколько при этом усложнятся арифметические операции! Наверное, поэтому до сих пор такая система не нашла применение.
Шестнадцатеричная система счисления стала активно применяться с развитием компьютерной техники.
Впервые она стала использоваться в документации к семейству компьютеров компании IBM в 1964 году. Это семейство компьютеров называлось IBM/360 и представляло собой класс самых мощных компьютеров на то время — мейнфреймов. В других компьютерных системах тех лет техническая документация была изложена с использованием восьмеричной системы счисления, даже несмотря на то, что уже существовал стандарт восьмибитного байта.
Мы уже обсудили, почему для восьмибитного байта удобнее использовать шестнадцатеричную систему, и с середины 70-х годов XX века именно она стала наиболее предпочтительной для представления компьютерной информации.
Сейчас шестнадцатеричная система записи чисел применяется при решении таких задач, как:
кодирование чисел на языке программирования низкого уровня Ассемблере. О нём подробнее вы узнаете на уроках по системам программирования;
представление символов в формате Юникода. Юникод — это стандарт кодирования символов, включающий в себя символы практически всех языков мира, даже эмодзи и иероглифические знаки;
кодировка веб-цветов. Для отображения цветных изображений на экране компьютера в браузере цвета кодируются именно в шестнадцатеричном формате. Например, в цвете #FF238A первые два символа кодируют красный цвет, следующие два — зелёный, оставшиеся — синий. При смешении трёх цветов в заданных кодом цвета пропорциях мы получим результирующий цвет на экране монитора.
В отличие от общепринятой десятичной системы счисления, которая содержит 10 цифр для записи числа, восьмеричная имеет всего 8 цифр, а именно: 0, 1, 2, 3, 4, 5, 6, 7, что является её алфавитом. Поэтому такая система счисления и называется восьмеричной, ведь в её алфавите 8 цифр.
В шестнадцатеричной системе счисления алфавит больше, чем в десятичной, и выглядит так: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Её основанием будет 16.
Пример. 2А₁₆ — это запись числа 42₁₀ в системе счисления по основанию 16, то есть в шестнадцатеричной. Если мы представим 42₁₀ в восьмеричной системе счисления, то оно будет выглядеть так — 52₈.
В данном примере 2А₁₆ и 52₈ являются свёрнутой формой записи числа. В уроке про двоичную систему говорилось о развёрнутой и свёрнутой формах записи числа. Для других систем счисления принципиально нового здесь ничего нет.
Вспомните, какие нужно выполнить шаги, чтобы преобразовать число из свёрнутой в развёрнутою форму:
Пронумеровать все цифры справа налево, начиная с нуля.
Умножить каждую цифру на основание системы счисления, возведённое в степень согласно номеру. В случае, если цифрами являются A, B, C, D, E, F, необходимо вспомнить, что в шестнадцатеричной системе А = 10, В = 11, С = 12, D = 13, E = 14, F = 15.
В случае, если нам необходимо представить числа 2А₁₆ и 52₈ в развёрнутой форме, то это будет выглядеть следующим образом:
"