Перевод чисел в различные системы счисления
Одна из ключевых тем в области информационных процессов — это преобразование чисел между различными системами счисления.
На ЕНТ эта тема часто встречается в заданиях, которые требуют знаний и навыков работы с числами в различных системах счисления. Овладение этой темой позволит легко получить дополнительные баллы на ЕНТ, так как она не является очень сложной, и освоив ее, вы сможете успешно справиться с заданиями по переводу чисел из различных систем счисления.
Основные понятия
Понятие числа играет ключевую роль как в математике, так и в информатике, представляясь символами или последовательностями символов определенного алфавита, которые называются цифрами. Оно тесно связано с понятием системы счисления, что делает его особенно важным и уникальным для обеих наук.
Система счисления задает правила для записи чисел и выполнения над ними арифметических операций.
Все системы счисления, как древние, так и современные, делятся на две основные категории: позиционные и непозиционные.
Системы счисления | |
Позиционные | Непозиционные |
Позиционные системы счисления характеризуются тем, что каждая цифра имеет значение, которое зависит от её места в числе. Примеры таких систем включают двоичную, восьмеричную, десятичную и другие.Их особенность состоит в том, что каждая цифра имеет свое значение в зависимости от контекста, что обеспечивает точное представление чисел любой величины и позволяет выполнять различные вычисления. | В непозиционных системах счисления цифры обладают уникальными значениями, которые не зависят от их местоположения в числе. Это делает такие системы особенно ценными для нумерации и математических расчетов. Одним из примеров такой системы является древнеримская система счисления, где значения цифр остаются постоянными, независимо от их позиции в числе. |
Древние египтяне, греки, римляне и другие цивилизации использовали непозиционные системы счисления. В таких системах цифры остаются одинаковыми независимо от положения числа. Примером такой системы являются римские цифры, записываемые с использованием латинского алфавита. Например, число 44 обозначается как XLIV, где каждая буква представляет определенное число вне зависимости от расположения. Здесь X – число десять, L – число пятьдесят, V – пять и I – один. X перед L означает 40, поскольку 10 вычитается из 50. Точно такая же логика и с четверкой в единицах. I перед V означает, что 1 вычитается из пятерки.
После того как мы рассмотрели и поняли основные моменты непозиционных систем счисления, давайте рассмотрим какие недостатки они могут за собой нести:
- При записи больших чисел становится все сложнее использовать их в удобной форме из-за растущего количества знаков. Например, число 44 в десятичной системе можно записать всего двумя символами, в то время как для использования римских цифр потребуется четыре символов (XLIV).
- В римской нумерации невозможно отображать десятичные значения или отрицательные числа. Римские цифры применяются только для изображения целых положительных чисел.
- Из-за отсутствия четких правил проведения арифметических операций в римской системе значительно усложняется выполнение вычислений. В отличие от десятичной системы, где применяются стандартные алгоритмы для сложения и умножения, такие как метод столбиком, в римской системе каждая цифра должна быть сложена независимо от своего положения в числе.
Каждая цифра в числе имеет свое значение, которое зависит от ее положения в числе и взаимодействия с другими цифрами. Уникальность числа определяется не только самими цифрами, но и их порядком и влиянием друг на друга. Например, в числе 888 каждая восьмерка играет определенную роль: первая — сотни, вторая — десятки, третья — единицы. При этом каждая цифра в числе вносит свой вклад в общую структуру числа, делая его уникальным и неповторимым.
Основные позиционные системы счисления
Когда то в древности люди предпочитали двенадцатеричную систему. Это связано с тем, что они применяли свои фаланги пальцев при счете, а мы знаем, что 4 пальца состоят из 12 фаланг. А именно считали на четырех пальцах перебирая их одним большим. Современные люди предпочитают использовать системы счисления, отличные от древних.
Помимо привычной десятичной системы с арабскими цифрами, которая широко используется, в компьютерах также применяются другие системы счисления. Например, двоичная система (использующая только 0 и 1), восьмеричная и шестнадцатеричная системы. Эти различные системы помогают компьютерам эффективно обрабатывать информацию и выполнять различные вычисления. Кроме десятичной системы счисления, существует множество других систем, таких как троичная и пятнадцатеричная. Каждая из них обладает своими особыми свойствами и применениями, что делает их уникальными и интересными для изучения.
Каждая система счисления определена своим основанием, которое указывает на количество уникальных цифр, используемых в этой системе. Например, десятичная система имеет основание 10, представленное десятью цифрами от 0 до 9. Двоичная система имеет основание 2, что подразумевает использование только двух цифр: 0 и 1. В восьмеричной системе имеет основание 8, используя восемь различных цифр. Шестнадцатеричная система также имеет свое собственное основание – 16, что включает в себя как цифры десятичной системы, так и буквы латинского алфавита для обозначения оставшихся шести чисел.
Наименование системы счисления | Цифры системы счисления |
Двоичная | 0, 1 |
Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 |
Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15) |
Система десятичного счисления является одной из позиционных систем, где каждая цифра имеет определенное значение в зависимости от своего положения в числе. Например, число 123 состоит из одной сотни, двадцати десятков и трех единиц, и их значения определяются их местом в числе.
Позиция каждой цифры в числе определяет его разряд. Например, число 123 можно представить как сумму: 1 * 102 + 2 * 101 + 3 * 100. Основание системы счисления, в данном случае 10, используется для возведения каждой цифры в степень, соответствующую ее разряду. Например, степень для единиц равна 0, для десятков — 1, для сотен — 2 и так далее.
Отрицательные показатели степени могут быть использованы для выражения чисел в виде десятичных дробей, что делает их удобными для работы с малыми значениями. Когда число 123,45 представлено в развернутой форме, используются отрицательные значения степеней для точного описания этого числа. 1 * 102 + 2 * 101 + 3 * 100 + 4 * 10-1 + 5 * 10-2 .
В двоичной системе счисления основанием является число двум. В такой системе запись чисел осуществляется цифрами 0 и 1, которые называются битами. Двоичное число формируется путем прибавления различных степеней числа 2 с коэффициентами 0 и 1. Давайте рассмотрим пример двоичного числа: 1011012
Двойка внизу или нижний индекс в числе является ключевым элементом для определения системы счисления. При записи числа в десятичной системе счисления нижний индекс 10 не применяется. можно интерпретировать его в различных системах счисления, таких как двоичная, восьмеричная, шестнадцатеричная или любая другая в зависимости от указанного основания. Каждое число может быть представлено в разных системах счисления. Кроме того, развернутая форма записи двоичного числа 101101 выглядит следующим образом: 1 * 25 + 0 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20, что равно 45 в десятичной системе. Важно учитывать различия и возможности представления чисел в разных системах счисления.
Одной из важных черт двоичной системы счисления является то, что вся информация в компьютере представлена именно в этой форме. Двоичные числа состоят из нулей и единиц, и имеют много разрядов. Хотя для людей эти числа могут показаться громоздкими и неудобными, компьютер использует их внутри себя. Для взаимодействия с людьми обычно используются восьмеричная и шестнадцатеричная системы, которые более удобны. Конвертация между этими системами и двоичной может быть осуществлена с помощью соответствующих методов.
Система счисления, основанная на восьмеричной системе, отличается от других позиционных систем тем, что использует восемь уникальных цифр, где наивысшее значение равно семи. Например число 567 будет записываться так: 5678
= 5 * 82 + 6 * 81 + 7 * 80 .
В шестнадцатеричной системе чисел используется не только десять цифр обычной десятичной системы (0-9), но и шесть дополнительных символов (A-F), которые соответствуют числам 10-15, что делает ее особенной и уникальной. В результате, в шестнадцатеричной системе счисления применяются как цифры, так и буквы латинского алфавита для обозначения чисел. Поэтому в шестнадцатеричной системе, например, возможна запись вида 3Е5А: 3Е5А = 3 * 163 + E * 162 + 5 * 161 + A * 160
Рассмотрим теперь различные методы преобразования чисел из одной позиционной системы счисления в другую. Каждый метод обладает уникальными характеристиками и деталями, которые важно учитывать при выполнении перевода.
Алгоритм перевода из десятичной системы в двоичную
- Разделите десятичное число на 2, выполняя деление в столбик и фиксируя остатки.
- Продолжайте деление числа на два до тех пор, пока результат не станет менее двух.
- При записи числа в двоичной системе последовательность цифр будет начинаться с последней цифры и записывать остатки в обратном порядке.
Пример перевода числа 123 из десятичной системы в двоичную позволяет нам увидеть процесс конвертации. Делим исходное число на основание новой системы (2) и записываем остатки. Продолжаем деление до тех пор, пока результат не станет равным нулю. Затем переписываем остатки в обратном порядке, получая итоговое двоичное число.
Деление | Частное целое | Остаток |
123 / 2 | 61 | 1 |
61 / 2 | 30 | 1 |
30 / 2 | 15 | 0 |
15 / 2 | 7 | 1 |
7 / 2 | 3 | 1 |
3 / 2 | 1 | 1 |
1 / 2 | 0 | 1 |
И тогда у нас получается, что 12310 = 11110112
Кроме того, мы можем преобразовывать десятичные дробные числа в двоичные числа, но для этого требуется немного измененный алгоритм. Вместо деления на основание мы будем умножать. Кроме того, запись будет производиться не с конца, а с начала числа. Алгоритм:
- Умножение десятичной дроби на основание системы и умножение полученной дробной части ведется до тех пор, пока не будет достигнут нулевой остаток или пока не будет достигнута определенная точность вычислений.
- Полученные целые части произведения следуют друг за другом в прямом порядке.
Давайте рассмотрим на примере числа 0,123:
Умножение числа на основание | Произведение | Целая часть |
0,123 * 2 | 0,246 | 0 |
0,246 * 2 | 0,492 | 0 |
0,492 * 2 | 0,984 | 0 |
0,984 * 2 | 1,968 | 1 |
Мы специально выделили целую часть, так как именно она отвечает за составление двоичного числа. И у нас получается следующие: 0,12310 = 0,0012
Существует много способов перевода чисел из десятичной системы счисления в двоичную. Мы рассмотрели лишь один из них, но существует множество других алгоритмов, которые можно использовать для выполнения этой операции.
Алгоритм перевода из десятичной в восьмеричную и шестнадцатеричную систему
Процесс конвертации числа в восьмеричную и шестнадцатеричную системы счисления аналогичен переводу в двоичную систему, но отличается основанием системы счисления. В случае восьмеричной системы основанием является число 8, а в случае шестнадцатеричной — число 16. В остальном процесс конвертации остается одинаковым.
Давайте преобразуем число 123 из десятичной системы в восьмеричную.
Деление | Частное целое | Остаток |
123 / 8 | 15 | 3 |
15 / 8 | 1 | 7 |
1 / 8 | 0 | 1 |
И также фиксируем последовательность остатков в обратной хронологической последовательности. 12310 = 12310 = 1738
Переведем это же число в шестнадцатеричную систему:
Деление | Частное целое | Остаток |
123 / 16 | 7 | 11 = B |
7 / 16 | 0 | 7 |
Здесь мы записали, что 11 равно латинской букве B. Так как в шестнадцатеричной системе используются все цифры от 0 до 9, а дальше для записи таких чисел как 10, 11, 12 и т.д используются буквы. 12310 = 7В16
Таким образом мы представили число 123 в разных системах счисления.
Система счисления | |||
Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная |
12310 | 11110112 | 1738 | 7В16 |
При конвертации числа из десятичного формата в другой мы делим число на основание желаемой системы счисления. Этот подход гарантирует эффективное и точное преобразование чисел из одной системы в другую.
Алгоритм перевода из двоичной системы в любую другую
Для конвертации чисел из двоичной системы в любую другую необходимо представить число как сумму произведений цифр на соответствующие степени основания целевой системы счисления. После этого следует вычислить результат, используя десятичную арифметику. Такой метод позволяет эффективно и точно переводить числа между различными системами счисления.
Перевод чисел в десятичную систему счисления записывается по формуле:
an-1 pn-1 + an-2 pn-2 + … + a1 p1 + a0 p0 + a-1 p-1 + … + a-m p-m
В данном случае, а обозначает коэффициенты, р – основание системы счисления, а n представляет разряд или позицию цифры в числе.
Для удобства преобразования числа в десятичную систему необходимо пронумеровать разряды числа, начиная справа налево, начиная с нулевого разряда. Каждый разряд соответствует степени основания числовой системы.
Например, переведем число 1000102 в десятичную систему. Для начала пронумеруем все разряды этого числа:
5 | 4 | 3 | 2 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
Для двоичного числа с 6 разрядами максимальная степень основания будет равна 5, так как разряды начинаются с нуля.
Теперь запишим преобразование по формуле:
1000102 = 1 * 25 + 0 * 24 + 0 * 23 + 0 * 22 + 1 * 21 + 0 * 20 = 3410
Здесь мы прописали все составляющие числа, но если в числе есть 0, то любое выражение с ним приведет в нулю. Например, 0 * 24 будет равно нулю, поэтому эту часть можно не записывать и сэкономить себе время, которое особенно важно на ЕНТ.
Рассмотрим также преобразования чисел из восьмеричной и шестнадцатеричной систем счисления. Давайте возьмем произвольное восьмеричное число, например 34, и выполним его разложение на отдельные разряды для дальнейших вычислений.
348 = 3 * 81 + 4 * 80 = 2810
Аналогичные вычисления числа в шестнадцатеричной системы.
2D116 = 2 * 162 + 13 * 161 + 1 * 160 = 512 + 208 + 1 = 72110
Перевод чисел из двоичной в восьмеричную и шестнадцатеричную системы
Перевод чисел напрямую из двоичной системы счисления в восьмеричную или шестнадцатеричную, как в предыдущих примерах, невозможен из-за различий в основании и способах представления чисел в каждой из них. Перевод числа из двоичной системы в восьмеричную или шестнадцатеричную требует сначала преобразования его в десятичную систему, а затем в одну из двух рассмотренных систем. Хотя это может показаться длительным процессом, существуют специальные таблицы соответствия, которые облегчают задачу. Однако, работа с такими таблицами может быть запутанной, поэтому важно освоить методы быстрого и простого перевода чисел между различными системами счисления.
Сначала переведем число 1011012 в десятичную систему. Для этого пронумеруем разряды и подставим значения в формулу:
1011012 = 1 * 25 + 0 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 = 4510
Теперь переведем 4510 в восьмеричную систему. Разделение будет следующим:
Деление | Частное целое | Остаток |
45 / 8 | 5 | 5 |
5 / 8 | 0 | 5 |
Таким образом, 4510 = 558 , что соответствует 1011012 = 558
Теперь рассмотрим этот пример с использованием таблиц соответствия.
- Для начала разделим исходное двоичное число (1011012) на группы по три цифры, начиная справа. на группы по три цифры, начиная справа. Если количество цифр не кратно трем, добавим слева нули, чтобы получить группы по три цифры. В результате получится:
101 | 101 |
- Затем каждую триаду заменяем восьмеричной цифрой согласно таблице ниже:
Число2 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
Число8 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
И у нас получается такой же ответ, как и при переводе чисел не используя таблицу: 1011012 = 558
Чтобы перевести двоичное число в шестнадцатеричную систему, сначала необходимо разделить его на группы по четыре цифры (тетрады), начиная с самого правого разряда и двигаясь влево. Если последняя группа содержит менее четырех цифр, добавьте нули слева, чтобы получить полные тетрады. Например, число 1000110010102 разбивается на тетрады:
1000 | 1100 | 1010 |
Затем эти тетрады заменяются на соответствующие цифры шестнадцатеричной системы счисления.
Число2 | Число16 | Число2 | Число16 |
0000 | 0 | 1000 | 8 |
0001 | 1 | 1001 | 9 |
0010 | 2 | 1010 | A |
0011 | 3 | 1011 | B |
0100 | 4 | 1100 | C |
0101 | 5 | 1101 | D |
0110 | 6 | 1110 | E |
0111 | 7 | 1111 | F |
Ответ: 100011001012 = 8CA16
Фактчек
- Существует несколько основных систем счисления: двоичная, десятичная, восьмеричная и шестнадцатеричная.
- Для конвертации числа из десятичной системы в двоичную используется метод деления на 2 с сохранением остатков.
- Основание системы счисления определяет количество доступных цифр, например, в десятичной системе основание равно 10, а в двоичной — 2.
Задания для самопроверки:
Задание 1
Чему будет равно число 75 в двоичной системе счисления?
- 1000001
- 1001011
- 1110001
- 1001000
Задание 2
Каким образом переводится число из двоичной системы в десятичную?
- Сложите все цифры двоичного числа и умножьте результат на 2.
- Переведите каждую цифру двоичного числа в её десятичный эквивалент и сложите их.
- Умножьте каждую цифру двоичного числа на соответствующую степень двойки и сложите результаты.
- Переверните двоичное число и считайте его значение как десятичное.
Задание 3
Какой буквой обозначают число 14 в шестнадцатеричной системе счисления?
- A
- C
- E
- F
Задание 4
В чем отличие позиционных систем счисления от непозиционных?
- В позиционных системах значение цифры зависит от её позиции, а в непозиционных — не зависит.
- Позиционные системы используют только цифры, а непозиционные — только буквы.
- В позиционных системах каждая цифра представляет число, умноженное на основание, а в непозиционных каждая цифра имеет фиксированное значение.
- Позиционные системы счисления имеют основание, а непозиционные не имеют.
Ответы: 1 –2; 2 –3; 3 –3; 4 –1.