Учитель информатики
§11. Перевод чисел из одной позиционной системы счисления в другую
Для перевода целого десятичного числа в систему счисления с основанием q следует:
Рассмотрим примеры перевода целых десятичных чисел в 2-ичную, 8-ричную и 16-ричную системы счисления.
Пример 4. Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись десятичного числа 22 оканчивается на 4.
Поскольку запись числа в системе счисления с основанием q заканчивается на 4, остаток от деления числа 22 на q равен 4: 22 mod q = 4 1) . Следовательно, 18 mod q = 0. Это верно для q ? .
1) Операция mod — вычисление остатка от целочисленного деления.
Так как в новой системе счисления запись числа оканчивается на 4, то q > 4. Следовательно, условию задачи удовлетворяют основания: 18, 9 и 6.
512=2 9 . 51210=1 000000000 2.
16=2 4 . 1610=1 0000 2.
Теперь сложим столбиком:
Перевод чисел из одной системы счисления в другую
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
infoegehelp.ru
Чтобы быстро переводить числа из десятичной системы счисления в двоичную, нужно хорошо знать числа «2 в степени». Например, 2 10 =1024 и т.д. Это позволит решать некоторые примеры на перевод буквально за секунды. Одной из таких задач является задача A1 из демо ЕГЭ 2012 года. Можно, конечно, долго и нудно делить число на «2». Но лучше решать по-другому, экономя драгоценное время на экзамене.
Метод очень простой. Суть его такая: если число, которое нужно перевести из десятичной системы, равно числу «2 в степени», то это число в двоичной системе содержит количество нулей, равное степени. Впереди этих нулей добавляем «1».
- Переведем число 2 из десятичной системы. 2=2 1 . Поэтому в двоичной системе число содержит 1 нуль . Впереди ставим «1» и получаем 1 0 2.
- Переведем 4 из десятичной системы. 4=2 2 . Поэтому в двоичной системе число содержит 2 нуля . Впереди ставим «1» и получаем 1 00 2.
- Переведем 8 из десятичной системы. 8=2 3 . Поэтому в двоичной системе число содержит 3 нуля . Впереди ставим «1» и получаем 1 000 2.
На рисунке квадратиками обозначено двоичное представление числа, а слева розовым цветом-десятичное.
Если число, которое нужно перевести, меньше числа «2 в степени» на 1, то в двоичной системе это число состоит только из единиц, количество которых равно степени.
- Переведем 3 из десятичной системы. 3=2 2 -1. Поэтому в двоичной системе число содержит 2 единицы . Получаем 11 2.
- Переведем 7 из десятичной системы. 7=2 3 -1. Поэтому в двоичной системе число содержит 3 единицы . Получаем 111 2.
На рисунке квадратиками обозначено двоичное представление числа, а слева розовым цветом-десятичное.
Аналогичен перевод и для других чисел «2 в степени-1».
Понятно, что перевод чисел от 0 до 8 можно сделать быстро или делением, или просто знать наизусть их представление в двоичной системе. Я привела эти примеры, чтобы Вы поняли принцип данного метода и использовали его для перевода более «внушительных чисел», например, для перевода чисел 127,128, 255, 256, 511, 512 и т.д.
Можно встретить такие задачи, когда нужно перевести число, не равное числу «2 в степени», но близкое к нему. Оно может быть больше или меньше числа «2 в степени». Разница между переводимым числом и числом «2 в степени» должна быть небольшая. Например, до 3. Представление чисел от 0 до 3 в двоичной системе надо просто знать без перевода.
Переводим сначала число «2 в степени» в двоичную систему. А потом прибавляем к нему разницу между числом «2 в степени» и переводимым числом.
Например, переведем 19 из десятичной системы. Оно больше числа «2 в степени» на 3.
Если число меньше числа «2 в степени», то удобнее пользоваться числом «2 в степени-1». Решаем так:
Переводим сначала число «2 в степени-1» в двоичную систему. А потом вычитаем из него разницу между числом «2 в степени-1» и переводимым числом.
Например, переведем 29 из десятичной системы. Оно больше числа «2 в степени-1» на 2. 29=31-2.
Если разница между переводимым числом и числом «2 в степени» больше трех , то можно разбить число на составляющие, перевести каждую часть в двоичную систему и сложить.
Например, перевести число 528 из десятичной системы. 528=512+16. Переводим отдельно 512 и 16.
512=2 9 . 51210=1 000000000 2.
16=2 4 . 1610=1 0000 2.
Теперь сложим столбиком:
Данная методика позволяет тратить минимум времени на перевод чисел из десятичной системы в двоичную, но при условии, что Вы прекрасно знаете числа «2 в степени». Если это не так, то заучите эти числа. Тем более, что в задачах по информатике они активно используются.
3.3. Правила перевода чисел из одной системы счисления в другую
1. Перевести число 1001101.11012 в десятичную систему счисления.
Решение: 1001101.11012 = 1·2 6 +0·2 5 +0·2 4 +1·2 3 +1·2 2 +0·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 -4 = 64+8++4+1+0.5+0.25+0.0625 = 77.812510
Ответ: 1001101.11012 = 77.812510