ОГЭ по информатике · задание 10

Системы счисления: перевод и сравнение

Числа записаны в двоичной, восьмеричной и шестнадцатеричной системах. Нужно найти их сумму или выбрать наибольшее (наименьшее) и записать ответ в десятичной системе.

Перевод в десятичную

  • Цифры умножаем на степени основания справа налево: 11012 = 8 + 4 + 1 = 13.
  • В шестнадцатеричной A = 10, B = 11, …, F = 15.

Быстрые приёмы

  • Каждая восьмеричная цифра — три двоичные, шестнадцатеричная — четыре.
  • Степени двойки: 1, 2, 4, 8, 16, 32, 64, 128, 256.

Типичные ошибки

  • Начать степени с 1, а не с 0 у правой цифры.
  • Принять 11018 за двоичное число.

Разобранные варианты

Сначала реши сам, потом открой разбор.

Вариант 1

сумма чисел

Вычислите значение арифметического выражения:

111112 + 278 + 16616

В ответе запишите десятичное число. Основание системы счисления указывать не нужно.

Разбор

Переводим каждое число в десятичную систему — раскладываем по степеням основания:

  • 111112 = 1·24 + 1·23 + 1·22 + 1·21 + 1·20 = 31
  • 278 = 2·81 + 7·80 = 23
  • 16616 = 1·162 + 6·161 + 6·160 = 358

Складываем: 31 + 23 + 358 = 412.

Ответ: 412

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

print(int('11111', 2) + int('27', 8) + int('166', 16))

Вариант 2

сумма чисел

Вычислите значение арифметического выражения:

11101012 + 3568 + 16416

В ответе запишите десятичное число. Основание системы счисления указывать не нужно.

Разбор

Переводим каждое число в десятичную систему — раскладываем по степеням основания:

  • 11101012 = 1·26 + 1·25 + 1·24 + 1·22 + 1·20 = 117
  • 3568 = 3·82 + 5·81 + 6·80 = 238
  • 16416 = 1·162 + 6·161 + 4·160 = 356

Складываем: 117 + 238 + 356 = 711.

Ответ: 711

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

print(int('1110101', 2) + int('356', 8) + int('164', 16))

Вариант 3

наибольшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

10110002,   4A16,   1228

Разбор

Переводим все числа в десятичную систему:

  • 10110002 = 1·26 + 1·24 + 1·23 = 88
  • 4A16 = 4·161 + 10·160 = 74
  • 1228 = 1·82 + 2·81 + 2·80 = 82

Сравниваем: наибольшее — 88.

Ответ: 88

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

nums = [int('1011000', 2), int('4A', 16), int('122', 8)]
print(max(nums))

Вариант 4

сумма чисел

Вычислите значение арифметического выражения:

1001012 + 6548 + 16F16

В ответе запишите десятичное число. Основание системы счисления указывать не нужно.

Разбор

Переводим каждое число в десятичную систему — раскладываем по степеням основания:

  • 1001012 = 1·25 + 1·22 + 1·20 = 37
  • 6548 = 6·82 + 5·81 + 4·80 = 428
  • 16F16 = 1·162 + 6·161 + 15·160 = 367

Складываем: 37 + 428 + 367 = 832.

Ответ: 832

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

print(int('100101', 2) + int('654', 8) + int('16F', 16))

Вариант 5

наименьшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите минимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

3208,   D716,   110010102

Разбор

Переводим все числа в десятичную систему:

  • 3208 = 3·82 + 2·81 = 208
  • D716 = 13·161 + 7·160 = 215
  • 110010102 = 1·27 + 1·26 + 1·23 + 1·21 = 202

Сравниваем: наименьшее — 202.

Ответ: 202

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

nums = [int('320', 8), int('D7', 16), int('11001010', 2)]
print(min(nums))

Вариант 6

наибольшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

3038,   DF16,   111100012

Разбор

Переводим все числа в десятичную систему:

  • 3038 = 3·82 + 3·80 = 195
  • DF16 = 13·161 + 15·160 = 223
  • 111100012 = 1·27 + 1·26 + 1·25 + 1·24 + 1·20 = 241

Сравниваем: наибольшее — 241.

Ответ: 241

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

nums = [int('303', 8), int('DF', 16), int('11110001', 2)]
print(max(nums))

Вариант 7

сумма чисел

Вычислите значение арифметического выражения:

11010112 + 1528 + 1EF16

В ответе запишите десятичное число. Основание системы счисления указывать не нужно.

Разбор

Переводим каждое число в десятичную систему — раскладываем по степеням основания:

  • 11010112 = 1·26 + 1·25 + 1·23 + 1·21 + 1·20 = 107
  • 1528 = 1·82 + 5·81 + 2·80 = 106
  • 1EF16 = 1·162 + 14·161 + 15·160 = 495

Складываем: 107 + 106 + 495 = 708.

Ответ: 708

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

print(int('1101011', 2) + int('152', 8) + int('1EF', 16))

Вариант 8

наибольшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

4C16,   1558,   11001112

Разбор

Переводим все числа в десятичную систему:

  • 4C16 = 4·161 + 12·160 = 76
  • 1558 = 1·82 + 5·81 + 5·80 = 109
  • 11001112 = 1·26 + 1·25 + 1·22 + 1·21 + 1·20 = 103

Сравниваем: наибольшее — 109.

Ответ: 109

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

nums = [int('4C', 16), int('155', 8), int('1100111', 2)]
print(max(nums))

Вариант 9

наименьшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите минимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

5616,   1438,   11010002

Разбор

Переводим все числа в десятичную систему:

  • 5616 = 5·161 + 6·160 = 86
  • 1438 = 1·82 + 4·81 + 3·80 = 99
  • 11010002 = 1·26 + 1·25 + 1·23 = 104

Сравниваем: наименьшее — 86.

Ответ: 86

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

nums = [int('56', 16), int('143', 8), int('1101000', 2)]
print(min(nums))

Вариант 10

сумма чисел

Вычислите значение арифметического выражения:

1001112 + 7578 + 30116

В ответе запишите десятичное число. Основание системы счисления указывать не нужно.

Разбор

Переводим каждое число в десятичную систему — раскладываем по степеням основания:

  • 1001112 = 1·25 + 1·22 + 1·21 + 1·20 = 39
  • 7578 = 7·82 + 5·81 + 7·80 = 495
  • 30116 = 3·162 + 1·160 = 769

Складываем: 39 + 495 + 769 = 1303.

Ответ: 1303

Проверка на Python. int(строка, основание) переводит число в десятичную систему.

print(int('100111', 2) + int('757', 8) + int('301', 16))

Для самостоятельного решения

Варианты 11–15 без разборов. Ответ можно проверить кнопкой.

Вариант 11

сумма чисел

Вычислите значение арифметического выражения:

1000102 + 4628 + 25616

В ответе запишите десятичное число. Основание системы счисления указывать не нужно.

Вариант 12

наибольшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

11000012,   1038,   5A16

Вариант 13

наименьшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите минимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

9A16,   100111012,   2038

Вариант 14

сумма чисел

Вычислите значение арифметического выражения:

11000112 + 15278 + 13416

В ответе запишите десятичное число. Основание системы счисления указывать не нужно.

Вариант 15

наибольшее из трёх

Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

3028,   101011112,   CA16