Быстрый перевод числа из десятичной системы счисления в двоичную
Чтобы быстро переводить числа из десятичной системы счисления в двоичную, нужно хорошо знать числа "2 в степени". Например, 210=1024 и т.д. Это позволит решать некоторые примеры на перевод буквально за секунды. Одной из таких задач является задача A1 из демо ЕГЭ 2012 года. Можно, конечно, долго и нудно делить число на "2". Но лучше решать по-другому, экономя драгоценное время на экзамене.
Метод очень простой. Суть его такая: если число, которое нужно перевести из десятичной системы, равно числу "2 в степени", то это число в двоичной системе содержит количество нулей, равное степени. Впереди этих нулей добавляем "1".
Примеры:
- Переведем число 2 из десятичной системы. 2=21. Поэтому в двоичной системе число содержит 1 нуль. Впереди ставим "1" и получаем 102.
- Переведем 4 из десятичной системы. 4=22. Поэтому в двоичной системе число содержит 2 нуля. Впереди ставим "1" и получаем 1002.
- Переведем 8 из десятичной системы. 8=23. Поэтому в двоичной системе число содержит 3 нуля. Впереди ставим "1" и получаем 10002.
На рисунке квадратиками обозначено двоичное представление числа, а слева розовым цветом-десятичное.
Аналогично и для других чисел "2 в степени".
Если число, которое нужно перевести, меньше числа "2 в степени" на 1, то в двоичной системе это число состоит только из единиц, количество которых равно степени.
- Переведем 3 из десятичной системы. 3=22-1. Поэтому в двоичной системе число содержит 2 единицы. Получаем 112.
- Переведем 7 из десятичной системы. 7=23-1. Поэтому в двоичной системе число содержит 3 единицы. Получаем 1112.
На рисунке квадратиками обозначено двоичное представление числа, а слева розовым цветом-десятичное.
Аналогичен перевод и для других чисел "2 в степени-1".
Понятно, что перевод чисел от 0 до 8 можно сделать быстро или делением, или просто знать наизусть их представление в двоичной системе. Я привела эти примеры, чтобы Вы поняли принцип данного метода и использовали его для перевода более "внушительных чисел", например, для перевода чисел 127,128, 255, 256, 511, 512 и т.д.
Можно встретить такие задачи, когда нужно перевести число, не равное числу "2 в степени", но близкое к нему. Оно может быть больше или меньше числа "2 в степени". Разница между переводимым числом и числом "2 в степени" должна быть небольшая. Например, до 3. Представление чисел от 0 до 3 в двоичной системе надо просто знать без перевода.
Если число больше, то решаем так:
Переводим сначала число "2 в степени" в двоичную систему. А потом прибавляем к нему разницу между числом "2 в степени" и переводимым числом.
Например, переведем 19 из десятичной системы. Оно больше числа "2 в степени" на 3.
19=16+3.
16=24. 1610=100002.
310=112.
1910=100002+112=100112.
Если число меньше числа "2 в степени", то удобнее пользоваться числом "2 в степени-1". Решаем так:
Переводим сначала число "2 в степени-1" в двоичную систему. А потом вычитаем из него разницу между числом "2 в степени-1" и переводимым числом.
Например, переведем 29 из десятичной системы. Оно больше числа "2 в степени-1" на 2. 29=31-2.
3110=111112.
210=102.
2910=111112-102=111012
Если разница между переводимым числом и числом "2 в степени" больше трех, то можно разбить число на составляющие, перевести каждую часть в двоичную систему и сложить.
Например, перевести число 528 из десятичной системы. 528=512+16. Переводим отдельно 512 и 16.
512=29 . 51210=10000000002.
16=24. 1610=100002.
Теперь сложим столбиком:
Данная методика позволяет тратить минимум времени на перевод чисел из десятичной системы в двоичную, но при условии, что Вы прекрасно знаете числа "2 в степени". Если это не так, то заучите эти числа. Тем более, что в задачах по информатике они активно используются.
Учить числа "2 в степени" удобно по этому материалу
Перейти к статьям: