Задача 1.5.1. Переведите 2B7F-шестнадцатеричное в восьмеричную систему
Пойти формальным путем, каскадным делением числа 2B7F на 8, мы не сможем, так как мы не научились делить в системах счисления, отличных от десятичной. Конечно, как вы уже убедились, все системы счисления устроены одинаково… Поэтому можете рискнуть и сделать деление самостоятельно.
Второй путь решения – перевести сперва 2B7F в десятичную систему, а затем полученное десятичное число – в восьмеричное (то есть использовать десятичную систему как посредник).
Но есть способ лучше! Это быстрые переводы, которые мы с вами сейчас изучим. Для нашей задачи системой-посредником будет двоичная система счисления.
Есть связь между шестнадцатеричной и двоичной системами. Каждой цифре шестнадцатеричной системы соответствуют четыре цифры двоичной. Можно переводить шестнадцатеричные цифры в двоичный вид по отдельности.
Воспользуемся нашей таблицей с числами в разных системах счисления и переведем:
Шестнадцатеричное
|
2
|
B
|
7
|
F
|
Двоичное
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обратите внимание, что
716 = 1112
Мы дополнили одним незначащим нулём:
716 = 01112
Итак, мы перевели 2B7F-шестнадцатеричное в двоичную систему и получили 10101101111111.
Теперь надо перевести его в восьмеричную систему.
Как перевести полученное двоичное число в восьмеричное? Задумаемся над вопросом, почему в быстром переводе из шестнадцатеричной системы в двоичную каждой шестнадцатеричной цифре ставится в соответствие именно четыре цифры? Не потому ли, что
16 = 24
Именно так. А это значит, что каждой цифре восьмеричной системы соответствуют три цифры в двоичной системе.
Продолжение хода решения.
Разобьем цифры в двоичном числе на тройки и переведем в восьмеричную систему каждую тройку по отдельности:
Шестнадцатеричное
|
2
|
B
|
7
|
F
|
Двоичное
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
восьмеричное
|
|
2
|
5
|
5
|
7
|
7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Заметьте, что последний левый ноль я не перевожу, так как он не значащий. В случае, если цифр для полноценной тройки не хватает, мы дописываем число незначащими нулями слева. Разбиение двоичного числа идет справа налево, потому что незначащие нули мы дописываем именно слева. Согласитесь, что число 11 равно 011, но оно не равно 110.
Ответ: 25577
Задача 1.5.2. Сколько значащих нулей в двоичной записи 2B7F-шестнадцатеричного.
Подумайте, что такое незначащие нули, например, в десятичной системе.
Мы это число уже переводили в двоичный вид в предыдущей задаче:
Шестнадцатеричное
|
2
|
B
|
7
|
F
|
Двоичное
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Значащих нулей в числе три, так как от двух левых нулей мы можем избавиться без всякого ущерба:
0010101101111111 = 10101101111111
Ответ: 3.
В ЕГЭ много задач на быстрые переводы.
Задача 1.5.3. Расположите в порядке возрастания X = 1648, Y = А316 и Z = 22004
Аналогично быстрым переводам из шестнадцатеричной и восьмеричной системы в двоичную придумайте быстрый способ перевода из четверичной в двоичную. Сравнивайте числа в двоичной системе.
Переведем числа в двоичную систему:
Аналогично одной цифре четверичного числа соответствуют две цифры двоичного:
Выпишем числа одно под другим (обратите внимание на выравнивание чисел с разным количеством разрядов – по левому разряду):
X
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
Y
|
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
Z
|
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
Или без незначащих нулей:
X
|
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
Y
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
Z
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
Видно, что X<Z<Y.
Ответ. XZY
Задача 1.5.4. Вычислите: 101010112 − 2538 + 616. Ответ запишите в десятичной системе счисления.
Восьмеричное число надо перевести быстрым переводом в двоичное, аналогично – шестнадцатеричное. Затем сделать вычисления и перевести ответ в десятичную систему.
Предоставим решение этой задачи читателю.
Задача 1.5.5. Найдите значение выражения 1116 + 118 : 112. Ответ запишите в двоичной системе счисления.
Быстрым переводом переведите числа в двоичную систему. Деление в двоичном виде аналогично делению в десятичном виде и даже проще, чем десятичное.
Переведем числа в двоичную систему.
Каждой цифре 16-ричного числа соответствуют четыре цифры двоичного:
1116 = 0001 00012 = 100012
Каждой цифре 8-ричного числа соответствуют четыре цифры двоичного:
118 = 001 0012 = 10012
Ответ: 10100
Задача 1.5.6. Сколько существует натуральных чисел x, для которых выполнено неравенство 110111002 < x < DF16
Переведем DF16 быстрым переводом в двоичный вид:
Расположим числа в столбик и выделим общую часть темным цветом:
1
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
Видно, что чисел между ними не так много, мы можем их и перечислить:
1
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
Ответ: 2.
Каждый год ЕГЭ делают немного сложнее, чем раньше. Поэтому задачу вполне могут усложнить таким образом, чтобы числа между двумя заданными перечислить было бы затруднительно.
Задача 1.5.7. Сколько существует натуральных чисел x, для которых выполнено неравенство 1101110000102 < x < DFF16
На примере предыдущей задачи научитесь считать, сколько чисел находится между заданными числами (в предыдущей задаче таких чисел мало, решите для общего случая).
Переведем в двоичный вид:
1
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
В этом случае перевод в двоичную систему нам нужен лишь для того, чтобы отбросить общую часть:
Переведем оба числа в десятичный вид:
0
|
0
|
0
|
0
|
1
|
0
|
=2
|
1
|
1
|
1
|
1
|
1
|
1
|
=32+16+8+4+2+1=63
|
Сколько чисел содержится между 2 и 63 ?
Если вы решаете задачу так: 63-2=61, то вы ошиблись.
Вернемся к предыдущей задаче:
3-0 = 3. Но между 0 и 3 всего два числа – 1 и 2!
Поэтому правильное решение будет 63-2-1 = 60.
Ответ: 60
Примечание. Это типичный подвох и в других задачах ЕГЭ. Внимательно проверяйте, входят ли границы в искомое множество. А еще лучше проверять на аналогичных примерах с маленькими числами, как мы это и сделали.
Задача 1.5.8. Укажите наименьшее четырёхзначное шестнадцатеричное число, двоичная запись которого содержит ровно 6 нулей.
Примечание. Зная быстрый способ перевода из двоичной системы в шестнадцатеричную, начните конструировать это число.
Начнем его конструировать в двоичном виде. Вспомним, что каждой цифре шестнадцатеричного числа соответствует четыре цифры в двоичном виде. Зарезервируем для них разряды:
Далее начнем заполнять единицами и нулями.
Ошибка. Если вы заполните следующим образом:
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
|
|
|
|
То вы будете не правы! Мы можем писать сколько угодно незначащих нулей, они не считаются.
Продолжение хода решения.
Правильное заполнение следующее:
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
3
|
F
|
Ответ: 103F
Задача 1.5.9. Переведите число 85-девятеричное в троичную систему.
Придумайте быстрый способ перевода из девятеричной системы в троичную и переведите число 85-девятеричное в троичную систему.
Поскольку
9 = 32
То одной девятеричной цифре соответствуют две троичные:
Поначалу переводить приходится каскадным делением столбиком, но когда уже «рука набита», перевод выглядит так:
8=2*3+2
5=1*3+2
Ответ: 2212
Задача 1.5.10. Запись числа в девятеричной системе счисления заканчивается цифрой 4. Какой будет последняя цифра в записи этого числа в троичной системе счисления?
В предыдущей задаче мы придумали быстрый способ перевода из девятеричной системы в троичную. Переведем 4 в троичную систему:
4=3+1.
Ответ: 1.