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

Урок 32. Перевод чисел между системами счисления

Общие сведения:

При программировании мы часто сталкиваемся с необходимостью перевода чисел между системами счисления, по основанию: 2, 4, 8, 16 и 10.

Основание системы счисления указывает какое количество цифр используется в этой системе для написания чисел:

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

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

Методы представления чисел в разных системах счисления:

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

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

Σ(цифра_числа * основание_системы позиция_цифры )

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

Перевод чисел из десятичной системы счисления:

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

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

Простой метод перевода:

Легче всего переводить числа через двоичную систему счисления. О том как это сделать рассказано в нашем видеоуроке.

Источник

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

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-ной и т.д.):

0000
1111
21022
311103
4100114
51011210
61102011
71112112
810002213
9100110014
10101010120
11101110221
12110011022
13110111123
14111011224
15111112030

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

00
11
22
33
44
55
66
77
88
99
10
11
1210
1311
1412
1513

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.

00
11
102
113
1004
1015
1106
1117

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

00
11
102
113
1004
1015
1106
1117
10008
10019
1010A
1011B
1100C
1101D
1110E
1111F

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

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

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

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

Источник

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

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

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

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

ОснованиеНазваниеАлфавит
2Двоичная0, 1
8Восьмеричная0, 1, 2, 3, 4, 5, 6, 7
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

Перевод целого q-ичного числа в систему счисления с новым основанием

Пример 1: перевести число 1101100 из двоичной в троичную систему.

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

Для перевода шестнадцатеричного числа 1a316 в десятичную систему, воспользуемся формулой:

11011002=1 ∙ 2 6 + 1 ∙ 2 5 + 0 ∙ 2 4 + 1 ∙ 2 3 + 1 ∙ 2 2 + 0 ∙ 2 1 + 0 ∙ 2 0 = 1 ∙ 64 + 1 ∙ 32 + 0 ∙ 16 + 1 ∙ 8 + 1 ∙ 4 + 0 ∙ 2 + 0 ∙ 1 = 64 + 32 + 0 + 8 + 4 + 0 + 0 = 10810

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

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

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

Пример 2: перевести число 345 из шестеричной в восьмеричную систему.

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

3456=3 ∙ 6 2 + 4 ∙ 6 1 + 5 ∙ 6 0 = 3 ∙ 36 + 4 ∙ 6 + 5 ∙ 1 = 108 + 24 + 5 = 13710

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

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

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

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

Пример 3: перевести 231.20 из четверичной в семеричную систему счисления.

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

1. Для перевода числа 231.20 в десятичную систему воспользуемся формулой:

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

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

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

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

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

2.2 Для перевода десятичной дроби 0.5 в 7-ую систему, необходимо выполнить последовательное умножение дроби на 7, до тех пор, пока дробная часть не станет равной 0 или пока не будет достигнута заданная точность вычисления. Получаем:

0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)
0.5 ∙ 7 = 3.5 (3)

Ответом станет прямая последовательность целых частей произведения. Т.е.

2.3. Осталось соединить переведенные части, таким образом:

Источник

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

Исходное число записано в -ой системе счисления.

Хочу получить запись числа в -ой системе счисления.

Системы счисления

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

Пример 1. Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:

Число:5921
Позиция:3210

Пример 2. Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:

Число:1234567
Позиция:3210-1-2-3

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

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

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

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

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

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

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

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

Рассмотрим перевод правильных десятичных дробей в различные системы счисления.

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

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

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

Источник

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

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

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

Для указания системы счисления при записи числа используется нижний индекс, который ставится после числа:
20010 = 110010002 = 3108 = C816

Кратко об основных системах счисления

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

Двоичная система счисления. Используется в вычислительной технике. Для записи числа используются цифры 0 и 1.

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

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

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

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

Переведем число 37510 в восьмеричную систему:

Перевод из двоичной системы в восьмеричную

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

Перевод из двоичной системы в шестнадцатеричную

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

Тетрада0000000100100011010001010110011110001001101010111100110111101111
Цифра0123456789ABCDEF

Перевод из восьмеричной системы в двоичную

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

Используем таблицу триад:

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

Перевод из шестнадцатеричной системы в двоичную

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

Используем таблицу тетрад:

Цифра0123456789ABCDEF
Тетрада0000000100100011010001010110011110001001101010111100110111101111

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

Перевод из восьмеричной системы в шестнадцатеричную и наоборот

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *