Для записи целых чисел можно использовать разные способы. Такие способы принято называть системами счисления. Например, целое число можно записывать последовательностью "палочек". Число 5 выглядит при таком способе как |||||. Понятно, что такой способ хорош только для записи небольших чисел. Для записи целых чисел, особенно дат, иногда применяют римскую систему счисления. В этой системе 2013 год записывается следующим образом MMXIII.
Основным способом записи чисел является их запись в различных позиционных системах счисления. Для записи числа в позиционной системе счисления используется некоторое множество символов, называемых цифрами системы счисления. Общепринято использовать 10 цифр - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, значения которых задают первые 10 чисел натурального ряда. Число используемых цифр задает основание системы счисления. В привычной со школьной скамьи десятичной системе счисления используются 10 цифр. В двоичной системе счисления с основанием 2 используются две цифры - 0 и 1. В позиционных системах счисления с основанием $$p$$, где $$p <=10$$ обычно используются первые p из приведенных 10 цифр. В системах счисления с основанием $$p > 10 $$десяти приведенных цифр не хватает, поэтому необходимы другие символы для записи цифр. В широко используемой при работе с компьютерами 16-иричной системе счисления, где необходимо 16 цифр, наряду с цифрами 0 - 9 в качестве цифр используют начальные буквы латинского алфавита - A, B, C, D, E, F, задающие соответственно числа от 10 до 15.
В любой системе счисления основание системы счисления – число $$p$$ – всегда записывается как число 10. Поясним причину этого на примере десятичной системы. Число 9 можно записать, используя цифру 9, но, если прибавить к 9 единицу, то на следующее число цифры уже не будет. Поэтому в позиционных системах в таких случаях число записывается с помощью двух цифр как число 10 – в младшем разряде пишется 0, а в старшем 1. В двоичной системе счисления числа 0 и 1 можно записать с помощью цифр, но, если прибавить к 1 единицу, то для двойки уже цифры нет, поэтому в двоичной системе число 2 записывается с помощью двух цифр, как число 10.
Вопрос: Чему равно число, записанное в системе счисления с основанием p как $$10_{p}$$?
Ответ: Эта запись означает число p в привычной для нас десятичной системе счисления.
Вопрос: В каких системах счисления справедливы утверждения?
$$2 * 2 = 10$$ $$2 * 2 = 11$$ $$2 * 2 = 100$$ $$2 * 2 = 4$$Ответы: ( В системах с основаниями соответственно: 4, 3, 2, в любых системах с основанием $$p > 4$$)
Рассмотрим привычную для нас запись числа $$N = 754$$ в десятичной системе счисления. Не задумываясь, мы ответим, что число $$N$$ состоит из 7-и сотен, 5-и десятков и 4-х единиц.
$$N = 7 * 10^2 + 5 * 10^1 + 4 * 10^0$$В общем случае запись $$N = c_{k-1} c_{k-2}…c_{0}$$, где $$c_{i}$$ – цифры системы счисления означает:
$$N = c_{k-1} * p^{k-1} + c_{k-2} * p^{k-2} + … + c_{0} * p^{0}, $$где $$p$$ – основание системы счисления. Учитывая, что в любой системе счисления $$p = 10$$, то справедлива и такая запись:
$$N = c_{k-1} * 10_{p}^{k-1} + c_{k-2} * 10_{p}^{k-2} + … + c_{0} * 10_{p}^{0}, $$Вот точное определение:
Запись числа в позиционной системе счисления означает разложение числа по степеням основания. В роли коэффициентов выступают цифры системы счисления.
Понимание этого факта и соответствующего ему представления числа $$N$$ соотношением (*) достаточно для решения многих задач экзамена ЕГЭ.
Задача 1: Сколько единиц в двоичной записи числа 130?
Ответ: 2.
Решение. Число $$ 130 = 128 + 2 = 1 * 2^7 + 1 * 2^1$$. Остальные коэффициенты равны 0. Полное решение задачи. Поскольку максимальная степень двойки равна 7, то число 130 в двоичной системе будет содержать 8 цифр – 2 единицы и 6 нулей $$130_{10} = 10000010_{2}$$
Задача 1 решается мгновенно, если помнить степени числа 2
Задача 2: Сколько нулей в троичной записи числа 130?
Ответ: 0
Решение: Используя разложение по степеням основания 3, число 130 можно представить:
$$130_{10} = 3^4 + 3^3 + 2 * 3^2 + 3 + 1 = 81 + 27 + 18 + 3 + 1 = 11211_{3}$$Задача 2 может потребовать некоторых вычислений из-за того, что со степенями тройки сложнее работать, чем со степенями двойки, которые обычно помнит наизусть каждый ученик, изучающий информатику.
Задача 3: Чему равно число, записанное как $$243_{5}$$ в пятеричной системе счисления?
Ответ: $$73_{10}$$
Решение: Это обратная задача по отношению к задаче 1. Здесь зная цифры и основание системы счисления нужно восстановить число, используя соотношение (*).
$$N = 243_{5} = 2 * 5^2 + 4 * 5^1 + 3 = 50 + 20 + 3 = 73_{10}$$Задача 4: Число $$243_{5}$$ записать в двоичной системе счисления?
Ответ: $$1001001_{2}$$
Решение: Задача записи числа $$N$$ в системе счисления с основанием $$p$$, если задана его запись в системе с основанием $$q$$, решается в два этапа. На первом этапе число переводится в десятичную систему, на втором этапе – в систему с основанием $$p$$.
$$N = 243_{5} = 73_{10} = 64 + 8 + 1 = 1001001_{2}$$Алгоритм достаточно прост. На пальцах он выглядит так. Необходимо последовательно делить число на p - основание системы счисления. Остатки от деления дают цифры для записи числа в системе с основанием p.
Приведу обоснование алгоритма:
Воспользуемся представлением (*) для записи числа N.
Вот как выглядит точная запись этого алгоритма в виде функции на языке С#:
/// <summary>
/// Перевод десятичного числа N
/// в систему счисления с основанием p
/// </summary>
/// <param name="N"> переводимое число</param>
/// <param name="p">основание системы счисления</param>
/// <returns>
/// строка, задающая запись числа
/// в системе с основанием p
/// </returns>
static string Perevod10ToP(int N, int p)
{
string result = "";
int M = N;
while (M != 0)
{
result = (M % p).ToString() + result;
M = M / p;
}
return result;
}
К этому алгоритму мы еще вернемся, а сейчас рассмотрим несколько менее тривиальных задач, на тему представления чисел в системах счисления.
Задача 5: Число 77 в системе счисления с основанием p заканчивается на 0, а число 29 в этой системе заканчивается на 1. Чему равно p – основание системы счисления?
Ответ: 7
Решение: При обосновании алгоритма перевода было показано, что с учетом представления (*) любое число может быть записано в виде:
$$(c_{k-1} * p^{k-2} + c_{k-2} * p^{k-3} + … + c_{1}) * p + c_{0}$$Отсюда следует возможность представить наши числа 77 и 29 следующим образом:
$$77 = k_{1} * p + 0$$ $$29 = k_{2} * p + 1$$Следовательно, справедливо соотношение:
$$49 = (k_{1} – k_{2}) * p$$Произведение двух целых, отличных от 1, равно 49 в том и только в том случае, когда:
$$(k_{1} – k_{2}) = p = 7 $$Задача 6: Двузначное число N в системах счисления с основаниями 3 и 7 заканчивается одной и той же цифрой. Укажите минимально возможное значение N.
Ответ: 21
Решение: N представимо в виде:
$$N = 3k_{1} + c_{0} = 7k_{2} + c_{0}$$Следовательно, справедливо соотношение:
$$3k_{1} = 7k_{2}$$Минимальное значение для N получается при:
$$k_{1} = 7; k_{2} = 3; N = 21 $$Алгоритм перевода десятичных чисел в систему счисления с основанием p следует хорошо знать. В ряде задач он используется для разбора десятичного числа на цифры. Зная число цифр в числе, их сумму или произведение, можно найти минимальное, максимальное или все числа, удовлетворяющие заданным характеристикам. Вот несколько задач на эту тему:
Задача 7:
При выполнении фрагмента программы на печать выводятся два числа - 3 и 18.
Каким может быть минимальное (максимальное) значение числа $$N$$ в этом случае?
int a = 0, b = 0;
while (N != 0)
{
a = a + 1; //число цифр в числе
b = b + N % 10; //сумма цифр
N = N / 10;
}
Console.WriteLine(" a = " + a.ToString());
Console.WriteLine(" b = " + b.ToString());
Ответ: минимальное $$N – 189$$; максимальное $$N = 990$$
Решение: Если в качестве основания системы использовать число 10, то алгоритм позволяет разобрать десятичное число на цифры. Переменная a играет роль счетчика цикла, задавая тем самым число цифр в числе. Переменная $$b$$ в данном фрагменте вычисляет сумму цифр. Задача сводится к определению к-значного числа по заданной сумме его цифр. Если сумма трех цифр числа равна 18, то первой цифрой у числа с минимальным значением может быть цифра 1. Две оставшиеся цифры в сумме дают 17, откуда и следует ответ. Для максимального числа, последней цифрой может быть 0, а две старшие цифры могут быть равны 9.
Задача 8:
При выполнении фрагмента программы на печать выводятся два числа - 3 и 18.
Перечислите все возможные значения числа $$N$$ в этом случае?
int a = 0, b = 1;
while (N != 0)
{
a = a + 1; //число цифр в числе
b = b * N % 10; //произведение цифр
N = N / 10;
}
Console.WriteLine(" a = " + a.ToString());
Console.WriteLine(" b = " + b.ToString());
Ответ: (129, 136, 163, 192, 219, 233, 291, 316, 323, 332, 361, 613, 631, 912, 921)
Решение: Эта задача является вариацией предыдущей задачи. Здесь необходимо определить возможное значение трехзначного числа, зная произведение его цифр. В ответе перечислены все возможные решения.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.