10 задание. Cистемы счисления

Десятое — одно из заданий, в которых делается большое количество ошибок. Оно, в частности, связано с переводом в десятичную систему счисления (то есть с основанием 10) из системы с другим основанием. Например, это может быть перевод из двоичной, восьмеричной и шестнадцатеричной систем счисления.

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

Основание системы счисления
10 103 102 101 100
2 23 22 21 20
8 83 82 81 80
16 163 162 161 160

Если разрядов больше, то слева добавится четвёртая, пятая, шестая степень и т.д.

Число записывается цифрами, входящими в алфавит системы счисления. Количество этих цифр равно основанию системы счисления. То есть, в алфавит системы счисления

с основанием 10 (десятичной) входит 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;

с основанием 2 (двоичной) входит 2 цифры: 0 и 1;

с основанием 8 (восьмеричной) входит 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7;

с основанием 16 (шестнадцатеричной) входит 16 цифр и букв латинского алфавита: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (A обозначает 10, B – 11, C – 12, D – 13, E – 14, F – 15.

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

Пример 1. Для перевода числа 11012 (это свёрнутая форма записи, основание записывается нижним индексом) из двоичной в десятичную систему, запишем его по разрядам:

23 22 21 20
1 1 0 1

А теперь сложим десятичные числа, получающиеся по каждому разряду:

1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 (это развёрнутая форма записи числа)

Остаётся вспомнить, что любое положительное число в нулевой степени равно 1 и сосчитать результат:

1 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 13

11012 = 1310

Пример 2. Переведём число 217F16 из шестнадцатеричной в десятичную систему счисления. Сначала запишем по разрядам:

163 162 161 160
2 1 7 F

Развёрнутая форма записи числа:

2 * 163 + 1 * 162 + 7 * 161 + 15 * 160 То, что F = 15, мы определяем, зная алфавит шестнадцатеричной системы.

Считаем результат:

2 * 4096 + 1 * 256 + 7 * 16 + 15 * 1 = 8 575

217F16 = 8 57510

Так как в задании после перевода нужно выбрать максимальное или минимальное число, остаётся напомнить, что максимальное – это наибольшее, а минимальное – это наименьшее 🙂 .

А теперь пройди викторину, чтобы проверить себя!