"Информатика. Базовый уровень", Босова Л.Л., Босова А.Ю.
Перевод чисел между позиционными системами счисления позволяет записать одно и то же значение с разными основаниями — например, в двоичной и десятичной системах. Для перевода в десятичную систему используют разряды числа, а для перевода целой части из десятичной — деление с остатком. Дробную часть переводят последовательным умножением. Эти способы помогают читать и проверять записи чисел, в том числе используемые компьютером.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Основание системы счисления — число, показывающее, сколько различных цифр используется в системе и сколько единиц младшего разряда образуют единицу следующего разряда. Например, в двоичной системе основание равно 2, а допустимы цифры 0 и 1. Основание нужно знать, чтобы определить веса разрядов и понять, какие цифры допустимы в записи.
Позиционный вес разряда — степень основания, соответствующая положению цифры в записи числа; для целой части степени идут от нуля, для дробной — от −1. Так, в числе 1011₂ крайняя справа цифра имеет вес 2⁰, а первая после запятой в дробной части имела бы вес 2⁻¹. По весу можно определить вклад каждой цифры в значение числа.
Развёрнутая запись числа — представление числа как суммы произведений цифр на соответствующие степени основания. Например, 1011₂ = 1 · 2³ + 0 · 2² + 1 · 2¹ + 1 · 2⁰. Такая форма показывает, из каких разрядных значений складывается число, и помогает переводить его в десятичную систему.
Алгоритм перевода целой части делением — последовательное деление числа на новое основание с записью остатков, которые затем читают в обратном порядке. Каждый остаток становится цифрой очередного разряда результата, начиная с младшего. Алгоритм нужен, когда целое десятичное число требуется записать с другим основанием.
В позиционной записи одна и та же цифра может обозначать разные величины: её вклад зависит от разряда. Это связано с тем, что при переходе на один разряд влево вес увеличивается в число раз, равное основанию системы. Поэтому число записывают как сумму произведений цифр на степени основания: каждая степень задаёт вес, а цифра показывает, сколько таких весов взято. Для разрядов справа от запятой используются отрицательные степени, потому что их веса меньше единицы.
Чтобы перевести целое число из системы с основанием p в десятичную, записывают сумму цифр, умноженных на их позиционные веса, и складывают слагаемые. Например, для двоичного числа веса равны степеням двойки: справа налево идут 2⁰, 2¹, 2² и далее. Такой способ работает, потому что десятичное значение числа — это сумма значений всех его разрядов. Нулевые разряды можно учитывать явно или пропускать: их вклад всё равно равен нулю.
Для перевода целого десятичного числа в систему с основанием q используют деление на q, потому что остаток от деления показывает число единиц младшего разряда. Частное после деления содержит оставшуюся часть числа в более крупных разрядах, и его снова делят на q. Повторяют действия, пока частное не станет равным нулю. Остатки появляются от младшего разряда к старшему, поэтому готовую запись читают в обратном порядке — от последнего остатка к первому.
Дробную часть десятичного числа переводят последовательным умножением на новое основание. При первом умножении целая часть результата показывает, сколько единиц составляет первый дробный разряд, а оставшаяся дробная часть используется для следующего шага. Поэтому целые части произведений выписывают по порядку, начиная с первого результата. Процесс заканчивают, когда дробная часть становится нулевой; если этого не происходит, можно остановиться на нужном количестве цифр, поскольку запись может быть бесконечной.
Если число содержит целую и дробную части, их переводят отдельно: целую часть — делением, дробную — умножением. Затем полученные записи соединяют запятой, сохраняя порядок цифр по обе стороны от неё. Причина разделения в том, что разряды целой части строятся от младших к старшим остатками, а разряды дробной — последовательно умножением. При этом дробная запись в новой системе может не завершиться, поэтому иногда указывают приближённый результат.
| Что переводим | Исходная система | Действие | Как получить запись результата |
|---|---|---|---|
| Целое число в десятичную систему | Основание p | Умножить каждую цифру на её позиционный вес и сложить | Полученная сумма — десятичное число |
| Целое десятичное число в систему с основанием q | Десятичная | Последовательно делить на q и записывать остатки | Прочитать остатки снизу вверх |
| Дробное десятичное число в систему с основанием q | Десятичная | Последовательно умножать дробную часть на q | Записать целые части произведений по порядку |
| Число с целой и дробной частями | Десятичная | Перевести целую и дробную части отдельно | Соединить результаты запятой |
Сначала определите, какая часть числа переводится и каково основание исходной системы. Затем выберите соответствующий способ из таблицы: для целой части в десятичную систему считают сумму весов, а при переводе из десятичной применяют деление или умножение. Если число смешанное, используйте оба алгоритма и объедините результаты.
Здесь основание равно 2, поэтому каждому разряду соответствует степень двойки. Начинаем отсчёт справа с нулевой степени и умножаем каждую цифру на её вес. Нулевые слагаемые можно не учитывать, но сначала полезно выписать все разряды, чтобы не потерять позицию цифры.
Ответ: 101101₂ = 45₁₀. Проверка по разрядам подтверждает, что единицы стоят при весах 32, 8, 4 и 1, а остальные веса не добавляют значения.
Чтобы получить двоичную запись, делим число на 2 и сохраняем каждый остаток. Остаток при делении на 2 может быть только 0 или 1, то есть сразу является допустимой двоичной цифрой. Последовательность частных позволяет продолжать разложение, пока не останется ноль.
Ответ: 58₁₀ = 111010₂. Проверить результат можно, сложив веса единичных разрядов: 32 + 16 + 8 + 2 = 58.
Целая и дробная части требуют разных действий, поэтому сначала переводим их отдельно. Целую часть 13 делим на 2, а дробную часть 0,625 умножаем на 2. При умножении для двоичной записи выписываем целые части произведений, а дробный остаток переносим в следующий шаг.
Ответ: 13,625₁₀ = 1101,101₂. В обратной проверке получаем 8 + 4 + 1 + 0,5 + 0,125 = 13,625, значит обе части переведены верно.
При переводе в десятичную систему иногда начинают считать степени основания с единицы, а не с нуля, или неверно назначают веса дробным разрядам. Это происходит, если не отслеживать положение цифр относительно запятой. Проверьте первую цифру справа от запятой: её вес должен быть основанием в степени −1, а крайняя справа цифра целой части имеет вес основания в степени 0. Для контроля выпишите разряды в ряд до вычислений.
При последовательном делении остатки могут записать в порядке их получения. Так возникает ошибка, потому что первым находится младший разряд, который должен стоять справа в результате. Прочитайте остатки снизу вверх, то есть от последнего к первому. Проверка обратным переводом быстро покажет, совпало ли исходное число.
При переводе дроби иногда выписывают дробные части произведений вместо целых. Это путает, потому что дробный остаток нужен только для следующего умножения, а очередной разряд результата задаёт именно целая часть. После каждого шага отдельно отмечайте цифру результата и остаток. Если цифры результата не принадлежат выбранной системе, значит действие выполнено неверно.
В ответе можно случайно использовать цифру, которой нет в системе с выбранным основанием, например 2 в двоичной записи. Такая ошибка часто появляется при переносе цифр из десятичного числа без проверки. Убедитесь, что все цифры неотрицательны и меньше основания: в системе с основанием q допустимы цифры от 0 до q − 1. Затем проверьте значение полученной записи через её разряды.
Для работы с переводом нужно знать, что такое позиционная система счисления, основание и разрядная запись числа. Эти понятия объясняют, почему цифры имеют разные веса и как вычисляется значение записи. Если основание не указано, можно ошибочно принять число за десятичное.
Перевод между системами понадобится при изучении двоичного представления данных и способов записи чисел в компьютере. Компьютер использует двоичные значения, а человеку часто удобнее читать десятичные числа. Понимание перевода помогает связывать эти формы записи.
Результат можно проверить обратным переводом или вычислением значения через степени основания. Эти способы основаны на том же разрядном принципе, что и прямой перевод. Если исходное значение восстановилось, а цифры допустимы для системы, вычисление согласуется с правилами позиционной записи.
Почему при переводе целого числа остатки нужно читать в обратном порядке?
Первый остаток показывает цифру младшего разряда, а каждый следующий — разряд выше. Поэтому запись результата начинается с последнего полученного остатка. Чтение в порядке вычислений меняет разряды местами.
Как определить степень основания для цифры в дробной части?
Первая цифра после запятой имеет вес основания в степени −1, вторая — в степени −2, третья — в степени −3. Степени уменьшаются на единицу при движении вправо от запятой.
Можно ли перевести число между двумя системами, не переводя его сначала в десятичную?
Можно, если основания систем связаны степенью одного и того же числа: например, двоичную и восьмеричную записи можно группировать по три двоичные цифры. Для произвольных оснований обычно используют промежуточную десятичную запись.
Почему при переводе дроби процесс умножения иногда не заканчивается?
Дробь может не представляться конечной записью в новой системе. Тогда при умножении дробная часть повторяется, и цифры результата начинают повторяться тоже. Запись можно продолжить до нужной точности.
Как проверить, что число переведено правильно?
Переведите полученную запись обратно или найдите её значение как сумму цифр, умноженных на позиционные веса. Для конечной дробной записи можно сравнить значения в исходной и новой системах. Также проверьте, что все цифры допустимы для выбранного основания.
§ 11. Перевод чисел из одной позиционной системы счисления в другую