2. Пример
| Задача:
|
| Перевести двоичное число 10111011102 в восьмеричную систему счисления.
| Решение:
|
| Для решения задачи воспользуемся выше приведенным алгоритмом:
1.011.101.110 001.011.101.110 1 3 5 6 10111011102 = 13568
| Ответ:
|
| 1356
| Задача:
|
| Перевести шестнадцатеричное число 3AC16 в двоичную систему счисления.
| Решение:
|
| Используем алгоритм, приведенный выше:
0011.1010.1100 001110101100 1110101100
Таким образом, 3AC16 = 11101011002
| Ответ:
|
| 1110101100
|
3. Задания
| 1.
| Задача:
|
| Дано: 10100111012 = X16. Найти X.
| Решение:
|
| (10)(1001)(1101) т.к 16 СИ это 24
| Ответ:
|
| 29D
| 2.
| Задача:
|
| Дано: 11474538 = X2. Найти X.
| Решение:
|
| (001)(001)(100)(111)(100)(101)(011)
| Ответ:
|
| 1001100111100101011
| 3.
| Задача:
|
| Дано: 1278 = X16. Найти X.
| Решение:
|
| 1278=8710=5716
| Ответ:
|
| 57
|
4.
| Задача:
|
| Сколько значащих нулей в двоичной записи шестнадцатеричного числа C3E116?
| Решение:
|
| (1100)(0011)(1110)(0001)
| Ответ:
|
| 8
| 5.
| Задача*:
|
| Дано: AF3832 = X16 = X8 = X2. Найти X.
| Решение:
|
| AF3832=34314410=53C6816=12361508=10100111100011010002
| Ответ:
|
| 53C6816=12361508=10100111100011010002
| 6.
| Задача*:
|
| Некоторое число X из десятичной системы счисления перевели в системы счисления с основаниями 16, 8, 4, 2. Часть символов при записи утеряна. Позиции утерянных символов обозначены знаком *
X = E*16 = *5*8 = ***14 = *****1**2
Определите число X.
| Решение:
|
| 23710=ED16=3558=32314=111011012
| Ответ:
|
| 237
|
Тест 2
| 0.
| Задание:
|
| Переведите число 37 из десятичной системы счисления в двоичную:
| Ответ:A
|
| А) 100101; В) 10101; С) 10011; D) 101101.
| 2.
| Задание:
|
| Переведите число 110102 из двоичной системы счисления в десятичную систему счисления.
| Ответ:C
|
| А) 18; В) 24; С) 26; D) 14.
|
3.
| Задание:
|
| Дано: а = D716, b = 3318. Какое из чисел с, записанных в двоичной системе, отвечают условию a | Ответ: D
|
| A) 11011001 B) 1101110 C) 11010111 D) 11011000
| 4.
| Задание:
|
| Для чисел, заданных в различных системах счисления: X = 11123, Y = 1405, Z = 2224 – справедливо соотношение:
| Ответ: B
|
| A) X | 5.
| Задание:
|
| В системе счисления с некоторым основанием десятичное число 144 записывается в виде 264. Укажите это основание.
| Ответ:C
|
| A) 5 B) 6 C) 7 D) 8
| 6.
| Задание:
|
| Укажите основание системы счисления, которой не может быть записано число 1302
| Ответ:A
|
| A) 3 B) 10 C) 7 D) 4
| 7.
| Задание:
|
| Значение выражения 1016 + 108 * 102 в двоичной системе счисления равно
| Ответ:C
|
| 1) 1010 B) 11010 C) 100000 D) 110000
| 8.
| Задание:
|
| Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 40 оканчивается на 4.
| Ответ:6, 9, 12, 18 ,36
|
|
| 0.
| Задание:
|
| В системе счисления с некоторым основанием десятичное число 52 записывается в виде 202n. Найдите n .
| Ответ:5
|
|
|
0.
| Задание:
|
| Решите уравнение: 126 + x = 3245 Ответ запишите в десятичной системе счисления.
| Ответ:81
|
|
| Реализация задач на языке программирования Python
1. Теоретический материал
| Для перевода числа из одной системы счисления в другую в Python существует несколько функций:
int([строка], [основание системы счисления]) - преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно. bin(x) - преобразование целого числа в двоичную строку. hex(х) - преобразование целого числа в шестнадцатеричную строку. oct(х) - преобразование целого числа в восьмеричную строку.
| 2. Пример
| Задача:
|
| Ввести число в десятичной системе счисления. Вывести двоичную, восьмеричную и шестнадцатеричную запись введенного числа
| Решение (код программы):
|
| print('Введите число в десячиной системе счисления')
a = int(input())
print('Двоичная: ', bin(a))
print('Восьмеричная: ',oct(a))
print('Шестнадцатиричная: ',hex(a))
|
3. Задания
| Задача:
|
| На вход программа получает две величины: n, A, где n – натуральное числа от 2 до 36, основание системы счисления, A – число, записанное в системе счисления с основанием n, A < 231.
Необходимо вывести значение A в системе счисления с основанием десять. В задаче подразумевается корректный ввод (т.е. в числе A отсутствуют цифры большие или равные n).
| Решение (код программы):
|
| b = []
a = int(input())
n = int(input())
while a >= 1:
b += [a % n]
a //= n
for i in reversed(b):
print(i, end='')
|
Все ранее рассматриваемые программы имели линейную структуру: все инструкции выполнялись последовательно одна за одной, каждая записанная инструкция обязательно выполняется.
Оператор ветвления if позволяет выполнить определенный набор инструкций в зависимости от некоторого условия.
| |