Нахождение основания системы счисления
В какой системе счисления число (3375_{10}) будет выглядеть как (1000_{?})?
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A: (A^{n}_{10}=1underbrace{000…000}_{n}) (_{A})
Тогда (3375_{10}=15^3_{10}), значит в системе счисления с основанием 15 будет выглядеть как (1000_{15}).
Ответ: 15
В какой системе счисления число (121_{10}) будет выглядеть как (100_{?})?
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A: (A^{n}_{10}=1underbrace{000…000}_{n}) (_{A})
Тогда (121_{10}=11^2_{10}), значит в системе счисления с основанием 11 будет выглядеть как (100_{11}).
Ответ: 11
В какой системе счисления число (2744_{10}) будет выглядеть как (1000_{?})?
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A: (A^{n}_{10}=1underbrace{000…000}_{n}) (_{A})
Тогда (2744_{10}=14^3_{10}), значит в системе счисления с основанием 14 будет выглядеть как (1000_{14}).
Ответ: 14
В какой системе счисления число (1331_{10}) будет выглядеть как (1000_{?})?
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A: (A^{n}_{10}=1underbrace{000…000}_{n}) (_{A})
Тогда (1331_{10}=11^3_{10}), значит в системе счисления с основанием 11 будет выглядеть как (1000_{11}).
Ответ: 11
В какой системе счисления число (1024_{10}) будет выглядеть как (100000_{?})?
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A: (A^{n}_{10}=1underbrace{000…000}_{n}) (_{A})
Тогда (1024_{10}=4^5_{10}), значит в четверичной системе счисления будет выглядеть как (100000_{4}).
Ответ: 4
В какой системе счисления число (6561_{10}) будет выглядеть как (100000000_{?})?
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A: (A^{n}_{10}=1underbrace{000…000}_{n}) (_{A})
Тогда (6561_{10}=3^8_{10}), значит в троичной системе счисления будет выглядеть как (100000000_{3}).
Ответ: 3
В какой системе счисления число (4096_{10}) будет выглядеть как (10000_{?})?
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A: (A^{n}_{10}=1underbrace{000…000}_{n}) (_{A})
Тогда (4096_{10}=8^4_{10}), значит в восмеричной системе счисления будет выглядеть как (10000_{8}).
Ответ: 8
Это ж всё брутфорс, это ж несерьезно 🙂
На самом деле, конечно, перебор здесь вполне подходит, и можно дать ему границы сразу — по количеству цифр, по максимальной цифре. Но есть же и аналитический метод.
350214х = 11892410
Это означает, что
3x5 + 5x4 + 0x3 + 2x2 + 1x + 4 = 11892410
или
3x5 + 5x4 + 2x2 + x – 118920 = 0
Классический многочлен пятой степени. И теперь нужно просто решить полиномиальное уравнение. По основной теореме алгебры у него будет пять комплексных корней, нас, правда, интересует только действительный, хорошо бы положительный, и хорошо бы целый 🙂
Из теоремы Абеля-Руффини известно, что аналитически мы такое уравнение не решим в общем случае, но я бы даже и пробовать не стал: на то придуманы численные методы, которых всяких есть многатыщ — выбрать можно по вкусу, начиная хоть с метода товарища Ньютона. Решаем, и получаем:
x = 8
Хорошо и красиво. Ну можете еще добить преподавателя комплексными корнями, сказав, что это же число записывается точно так же в системе счисления с основанием (-7.07949 – 4.865i) 🙂
Тема 14.
Системы счисления
14
.
02
Нахождение основания системы счисления
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами – ЛЕГКО!
Подтемы раздела
системы счисления
Решаем задачи
Напишите программу, которая решает уравнение . В ответе напишите найденное значение переменной
.
Показать ответ и решение
for i in range(7, 10): # начинаем перебор с 7, так как в записи числа 256 максимальное число - 6, # а оно может присутствовать в любой системе счисления, которая больше 6 if 2 * i ** 2 + 5 * i + 6 == 139: print(i)
Показать ответ и решение
def x_10_to_n(x, n):
digits = []
while x > 0:
digits.append(x % n)
x //= n
digits.reverse()
return digits
for n in range(3, 10):
if x_10_to_n(100, n)[-1] == 2 and
x_10_to_n(78, n)[-1] == 1:
print(n)
Показать ответ и решение
for i in range(6, 100): if 2 * i ** 2 + 5 * i + 0 == 102: print(i) break
Решите уравнение: .
Ответ запишите в десятичной системе счисления.
Показать ответ и решение
for i in range(100): if 1 * 7 * 7 + 4 * 7 + 5 + i == 3 * 5 * 5 + 3 * 5 + 1: print(i)
В системе счисления с некоторым основанием десятичное число 14 записывается в виде 20. Укажите это
основание.
Показать ответ и решение
Решение аналитически:
Пусть x – это основание искомой системы счисления, тогда из условия, что следует .
Решение программой:
for x in range(2, 10): s = ’’ n = 14 while n != 0: s = str(n % x) + s n //= x if s == ’20’: print(x)
Укажите через пробел в порядке возрастания все основания систем счисления, в которых запись числа 13 оканчивается на
1.
Показать ответ и решение
Чтобы последняя цифра числа в n-ричной системе счисления числа 13 равнялась 1, нужно, чтобы остаток деления 13 на n
также равнялся 1. Переберём системы счисления от двоичной до 13-ричной.
for i in range(2, 13):
if 13 % i == 1:
print(i)
Показать ответ и решение
for i in range(3, 100): if 100 % i == 2 and 78 % i == 1: print(i)
Найдите основание системы счисления, в которой выполнено сложение: .
Показать ответ и решение
for i in range(7, 36): if int(’251’, i) + int(’63’, i) == int(’334’, i): print(i)
Показать ответ и решение
def x_10_to_n(x, n):
digits = []
while x > 0:
digits.append(x % n)
x //= n
digits.reverse()
return digits
for x in range(6, 10):
if x_10_to_n(102, x) == [2, 5, 0]:
print(x)
Решите уравнение: .
Ответ запишите в десятичной системе счисления.
Показать ответ и решение
def n_to_x_10(arr, n):
x = 0
for i in range(len(arr)):
x += arr[i] * n ** (len(arr) – 1 – i)
return x
a = [1, 4, 5]
b = [3, 3, 1]
print(n_to_x_10(b, 5) – n_to_x_10(a, 7))
В системе счисления с некоторым основанием десятичное число записывается в виде . Укажите это
основание.
Показать ответ и решение
Пусть x – это основание искомой системы счисления, тогда из условия, что следует .
Показать ответ и решение
Решение 1
for i in range(2, 20): x = 25 x_new = ’’ while x > 0: x_new = str(x % i) + x_new x //= i if len(x_new) == 2 and x_new[-1] == ’4’: print(i) break
Решение 2
for i in range(2, 100): if i ** 2 > 25 >= i and 25 % i == 4: print(i) break
Определите число , для которого выполняется равенство .
Показать ответ и решение
Переведём оба числа в десятичную систему и решим уравнение:
В ответ берем положительное число.
Значение арифметического выражения:
записали в системе счисления с основанием . Определите основание системы счисления, если известно, что сумма
разрядов в числе, представленном в этой системе счисления, равна .
Показать ответ и решение
for n in range(2, 10): # Перебор начинаем с 2 т.к. # при делении на 1 получается бесконечный цикл s = n**25 - 2*n**13 + 10 summ = 0 while s > 0: summ += s % n s //= n if summ == 75: print(n)
В какой системе счисления число записывается как ? В ответ запишите основание системы счисления.
В системе счисления с некоторым основанием десятичное число 14 записывается в виде 20. Укажите это
основание.
Показать ответ и решение
Требуется решить уравнение: откуда x = 7.
В системе счисления с некоторым основанием десятичное число 16 записывается в виде 10000. Укажите это
основание.
Показать ответ и решение
Требуется решить уравнение:
откуда x = 2.
В какой системе счисления число будет выглядеть как ?
Показать ответ и решение
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в
системе счисления с основанием A:
Тогда , значит в системе счисления с основанием 18 будет выглядеть как .
В какой системе счисления число будет выглядеть как ?
Показать ответ и решение
Стоить заметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в
системе счисления с основанием A:
Тогда , значит в системе счисления с основанием 16 будет выглядеть как .
Система счисления – это способ записи чисел. Обычно, числа записываются с помощью специальных знаков – цифр (хотя и не всегда). Если вы никогда не изучали данный вопрос, то, по крайней мере, вам должны быть известны две системы счисления – это арабская и римская. В первой используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и это позиционная система счисления. А во второй – I, V, X, L, C, D, M и это непозиционная система счисления.
Подробная инструкция, как быстро научиться считать в двоичной и шестнадцатеричной системах приведена на сайте https://itvdn.com/ru/blog/article/binary-hexadecimal-system.
В позиционных системах счисления количество, обозначаемое цифрой в числе, зависит от ее позиции, а в непозиционных – нет. Например:
11 – здесь первая единица обозначает десять, а вторая – 1.
II – здесь обе единицы обозначают единицу.
345, 259, 521 – здесь цифра 5 в первом случае обозначает 5, во втором – 50, а в третьем – 500.
XXV, XVI, VII – здесь, где бы ни стояла цифра V, она везде обозначает пять единиц. Другими словами, величина, обозначаемая знаком V, не зависит от его позиции.
Сложение, умножение и другие математические операции в позиционных системах счисления выполнить легче, чем в непозиционных, т.к. математические операции осуществляются по несложным алгоритмам (например, умножение в столбик, сравнение двух чисел).
В мире наиболее распространены позиционные системы счисления. Помимо знакомой всем с детства десятичной (где используется десять цифр от 0 до 9), в технике широкое распространение нашли такие системы счисление как двоичная (используются цифры 0 и 1), восьмеричная и шестнадцатеричная.
Следует отметить, важную роль нуля. «Открытие» этой цифры в истории человечества сыграло большую роль в формировании позиционных систем счисления.
Основание системы счисления – это количество знаков, которое используется для записи цифр.
Разряд – это позиция цифры в числе. Разрядность числа – количество цифр, из которых состоит число (например, 264 – трехразрядное число, 00010101 – восьмиразрядное число). Разряды нумеруются справа на лево (например, в числе 598 восьмерка занимает первый разряд, а пятерка – третий).
Итак, в позиционной системе счисления числа записываются таким образом, что каждый следующий (движение справа на лево) разряд больше другого на степень основания системы счисления. (придумать схему)
Одно и тоже число (значение) можно представить в различных системах счисления. Представление числа при этом различно, а значение остается неизменным.
Двоичная система счисления
В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)
Чтобы научиться понимать числа в двоичной системе счисления, сначала рассмотрим, как формируются числа в привычной для нас десятичной системе счисления.
В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.
Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.
Попробуем считать в двоичной системе:
0 – это ноль
1 – это один (и это предел разряда)
10 – это два
11 – это три (и это снова предел)
100 – это четыре
101 – пять
110 – шесть
111 – семь и т.д.
Перевод чисел из двоичной системы счисления в десятичную
Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.
В десятичной системе счисления любое число можно представить в форме суммы единиц, десяток, сотен и т.д. Например:
1476 = 1000 + 400 + 70 + 6
Можно пойти еще дальше и разложить так:
1476 = 1 * 103 + 4 * 102 + 7 * 101 + 6 * 100
Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 – это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.
Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:
10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0
Если посчитать сумму составляющих, то в итоге мы получим десятичное число, соответствующее 10001001:
1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137
Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:
100010012 = 13710
Почему двоичная система счисления так распространена?
Дело в том, что двоичная система счисления – это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в десяти состояниях. Это сложно. Проще изготовить физический элемент, который может быть лишь в двух состояниях (например, есть ток или нет тока). Это одна из основных причин, почему двоичной системе счисления уделяется столько внимания.
Перевод десятичного числа в двоичное
Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:
77 / 2 = 38 (1 остаток)
38 / 2 = 19 (0 остаток)
19 / 2 = 9 (1 остаток)
9 / 2 = 4 (1 остаток)
4 / 2 = 2 (0 остаток)
2 / 2 = 1 (0 остаток)
1 / 2 = 0 (1 остаток)
Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:
1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77
Восьмеричная система счисления
Итак, современное «железо понимает» лишь двоичную систему счисления. Однако человеку трудно воспринимать длинные записи нулей и единиц с одной стороны, а с другой – переводит числа из двоичной в десятичную систему и обратно, достаточно долго и трудоемко. В результате, часто программисты используют другие системы счисления: восьмеричную и шестнадцатеричную. И 8 и 16 являются степенями двойки, и преобразовывать двоичное число в них (так же как и выполнять обратную операцию) очень легко.
В восьмеричной системе счисления используется восемь знаков-цифр (от 0 до 7). Каждой цифре соответствуют набор из трех цифр в двоичной системе счисления:
000 – 0
001 – 1
010 – 2
011 – 3
100 – 4
101 – 5
110 – 6
111 – 7
Для преобразования двоичного числа в восьмеричное достаточно разбить его на тройки и заменить их соответствующими им цифрами из восьмеричной системы счисления. Разбивать на тройки нужно начинать с конца, а недостающие цифры в начале заменить нулями. Например:
1011101 = 1 011 101 = 001 011 101 = 1 3 5 = 135
Т.е число 1011101 в двоичной системе счисления равно числу 135 в восьмеричной системе счисления. Или 10111012 = 1358.
Обратный перевод. Допустим, требуется перевести число 1008 (не заблуждайтесь! 100 в восьмеричной системе – это не 100 в десятичной) в двоичную систему счисления.
1008 = 1 0 0 = 001 000 000 = 001000000 = 10000002
Перевод восьмеричного числа в десятичное можно осуществить по уже знакомой схеме:
6728 = 6 * 8 2 + 7 * 8 1 + 2 * 8 0 = 6 * 64 + 56 + 2 = 384 + 56 + 2 = 44210
1008 = 1 * 8 2 + 0 * 8 1 + 0 * 8 0 = 6410
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления, так же как и восьмеричная, широко используется в компьютерной науке из-за легкости перевода в нее двоичных чисел. При шестнадцатеричной записи числа получаются более компактными.
В шестнадцатеричной системе счисления используются цифры от 0 до 9 и шесть первых латинских букв – A (10), B (11), C (12), D (13), E (14), F (15).
При переводе двоичного числа в шестнадцатеричное, первое разбивается на группы по четыре разряда, начиная с конца. В случае, если количество разрядов не делится нацело, то первая четверка дописывается нулями впереди. Каждой четверке соответствует цифра шестнадцатеричной системе счисления:
Например:
10001100101 = 0100 1100 0101 = 4 C 5 = 4C5
Если потребуется, то число 4C5 можно перевести в десятичную систему счисления следующим образом (C следует заменить на соответствующее данному символу число в десятичной системе счисления – это 12):
4C5 = 4 * 162 + 12 * 161 + 5 * 160 = 4 * 256 + 192 + 5 = 1221
Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи – это FF.
FF = 15 * 161 + 15 * 160 = 240 + 15 = 255
255 – это максимальное значение одного байта, равного 8 битам: 1111 1111 = FF. Поэтому с помощью шестнадцатеричной системы счисления очень удобно кратко (с помощью двух цифр-знаков) записывать значения байтов. Внимание! Состояний у 8-ми битного байта может быть 256, однако максимальное значение – 255. Не забывайте про 0 – это как раз 256-е состояние
118924 в 10 системе счисления = 350214 в х системе счисления, как найти х? если можно то попродобнее
5 ответов 5
Это ж всё брутфорс, это ж несерьезно 🙂
На самом деле, конечно, перебор здесь вполне подходит, и можно дать ему границы сразу — по количеству цифр, по максимальной цифре. Но есть же и аналитический метод.
Это означает, что
3x 5 + 5x 4 + 2x 2 + x – 118920 = 0
Классический многочлен пятой степени. И теперь нужно просто решить полиномиальное уравнение. По основной теореме алгебры у него будет пять комплексных корней, нас, правда, интересует только действительный, хорошо бы положительный, и хорошо бы целый 🙂
Из теоремы Абеля-Руффини известно, что аналитически мы такое уравнение не решим в общем случае, но я бы даже и пробовать не стал: на то придуманы численные методы, которых всяких есть многатыщ — выбрать можно по вкусу, начиная хоть с метода товарища Ньютона. Решаем, и получаем:
x = 8
Хорошо и красиво. Ну можете еще добить преподавателя комплексными корнями, сказав, что это же число записывается точно так же в системе счисления с основанием (-7.07949 – 4.865i) 🙂
1) если нужно проверить может ли быть такое число a в данной системе счисления с основанием b, проверьте что все цифры a меньше основания b
т.е. 2358 не может являться числом в 4-ной СС
2)если вы перевели число a из десятичной СС в p-ичную, то для того, чтобы проверить, верно ли вы это сделали, просто переведите ее обратно в десятичную, и проверьте, получится ли то же число а.
Для того чтобы перевести число из p-ичной СС в десятичную, умножьте первую справа цифру на 1, вторую справа на p, третью на p², и т.д. умножая на степени p, а потом найдите сумму всего этого
Как найти основание системы счисления из уравнения
В системе счисления с некоторым основанием десятичное число 18 записывается в виде 30. Укажите это основание.
Решение . Составим уравнение: где n — основание этой системы счисления. Исходя из уравнения,
Ответ запишите в троичной системе (основание системы счисления в ответе писать не нужно).
Решение . Преобразуем уравнение:
Основание системы счисления равно 610 = 203.
Решение . Преобразуем уравнение:
Корни квадратного уравнения: 8 и −10. Следовательно, основание системы счисления равно 8.
Решение . Переведём все числа в десятичную систему счисления:
Составим новое уравнение и решим уже его:
Чему равно наименьшее основание позиционной системы счисления x, при котором 225x = 405y?
Ответ записать в виде целого числа.
Решение . Поскольку в левой и в правой частях есть цифра 5, оба основания больше 5, то есть перебор имеет смысл начинать с
Для каждого x вычисляем значение и решаем уравнение , причем нас интересуют только натуральные
Для и нужных решений нет, а для получаем так что
Ответ:
В системе счисления с некоторым основанием десятичное число 27 записывается в виде 30. Укажите это основание.
Решение . Составим уравнение: где n — основание этой системы счисления. Исходя из уравнения,
Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 31 оканчивается на 4.
Решение . 1. Итак, нужно найти все целые числа (цифра 4 присутствует в системах счисления только с таким основанием), такие что остаток от деления 31 на N равен 4, или (что то же самое) , где k — целое неотрицательное число (0, 1, 2, …);
2. Из формулы получаем , так что задача сводится к тому, чтобы найти все делители числа 27, которые больше 4;
3. В этой задаче есть только два таких делителя: и .
Некоторые читатели могут подумать, что основанием системы счисления может быть также число 17, поскольку при записи числа 31 в этой системе количество единиц равно 14, то есть оканчивается на 4. Но число 14 в системе счисления с основанием 17 будет записано в виде буквы Е, следовательно, число 31 будет иметь вид 1Е.
Как определить основание числа в информатике
Система счисления – это способ записи чисел. Обычно, числа записываются с помощью специальных знаков – цифр (хотя и не всегда). Если вы никогда не изучали данный вопрос, то, по крайней мере, вам должны быть известны две системы счисления – это арабская и римская. В первой используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и это позиционная система счисления. А во второй – I, V, X, L, C, D, M и это непозиционная система счисления.
Подробная инструкция, как быстро научиться считать в двоичной и шестнадцатеричной системах приведена на сайте https://itvdn.com/ru/blog/article/binary-hexadecimal-system.
В позиционных системах счисления количество, обозначаемое цифрой в числе, зависит от ее позиции, а в непозиционных – нет. Например:
11 – здесь первая единица обозначает десять, а вторая – 1.
II – здесь обе единицы обозначают единицу.
345, 259, 521 – здесь цифра 5 в первом случае обозначает 5, во втором – 50, а в третьем – 500.
XXV, XVI, VII – здесь, где бы ни стояла цифра V, она везде обозначает пять единиц. Другими словами, величина, обозначаемая знаком V, не зависит от его позиции.
Сложение, умножение и другие математические операции в позиционных системах счисления выполнить легче, чем в непозиционных, т.к. математические операции осуществляются по несложным алгоритмам (например, умножение в столбик, сравнение двух чисел).
В мире наиболее распространены позиционные системы счисления. Помимо знакомой всем с детства десятичной (где используется десять цифр от 0 до 9), в технике широкое распространение нашли такие системы счисление как двоичная (используются цифры 0 и 1), восьмеричная и шестнадцатеричная.
Следует отметить, важную роль нуля. «Открытие» этой цифры в истории человечества сыграло большую роль в формировании позиционных систем счисления.
Основание системы счисления – это количество знаков, которое используется для записи цифр.
Разряд – это позиция цифры в числе. Разрядность числа – количество цифр, из которых состоит число (например, 264 – трехразрядное число, 00010101 – восьмиразрядное число). Разряды нумеруются справа на лево (например, в числе 598 восьмерка занимает первый разряд, а пятерка – третий).
Итак, в позиционной системе счисления числа записываются таким образом, что каждый следующий (движение справа на лево) разряд больше другого на степень основания системы счисления. (придумать схему)
Одно и тоже число (значение) можно представить в различных системах счисления. Представление числа при этом различно, а значение остается неизменным.
Двоичная система счисления
В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)
Чтобы научиться понимать числа в двоичной системе счисления, сначала рассмотрим, как формируются числа в привычной для нас десятичной системе счисления.
В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.
Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.
Попробуем считать в двоичной системе:
0 – это ноль
1 – это один (и это предел разряда)
10 – это два
11 – это три (и это снова предел)
100 – это четыре
101 – пять
110 – шесть
111 – семь и т.д.
Перевод чисел из двоичной системы счисления в десятичную
Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.
В десятичной системе счисления любое число можно представить в форме суммы единиц, десяток, сотен и т.д. Например:
1476 = 1000 + 400 + 70 + 6
Можно пойти еще дальше и разложить так:
1476 = 1 * 103 + 4 * 102 + 7 * 101 + 6 * 100
Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 – это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.
Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:
10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0
Если посчитать сумму составляющих, то в итоге мы получим десятичное число, соответствующее 10001001:
1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137
Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:
100010012 = 13710
Почему двоичная система счисления так распространена?
Дело в том, что двоичная система счисления – это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в десяти состояниях. Это сложно. Проще изготовить физический элемент, который может быть лишь в двух состояниях (например, есть ток или нет тока). Это одна из основных причин, почему двоичной системе счисления уделяется столько внимания.
Перевод десятичного числа в двоичное
Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:
77 / 2 = 38 (1 остаток)
38 / 2 = 19 (0 остаток)
19 / 2 = 9 (1 остаток)
9 / 2 = 4 (1 остаток)
4 / 2 = 2 (0 остаток)
2 / 2 = 1 (0 остаток)
1 / 2 = 0 (1 остаток)
Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:
1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77
Восьмеричная система счисления
Итак, современное «железо понимает» лишь двоичную систему счисления. Однако человеку трудно воспринимать длинные записи нулей и единиц с одной стороны, а с другой – переводит числа из двоичной в десятичную систему и обратно, достаточно долго и трудоемко. В результате, часто программисты используют другие системы счисления: восьмеричную и шестнадцатеричную. И 8 и 16 являются степенями двойки, и преобразовывать двоичное число в них (так же как и выполнять обратную операцию) очень легко.
В восьмеричной системе счисления используется восемь знаков-цифр (от 0 до 7). Каждой цифре соответствуют набор из трех цифр в двоичной системе счисления:
000 – 0
001 – 1
010 – 2
011 – 3
100 – 4
101 – 5
110 – 6
111 – 7
Для преобразования двоичного числа в восьмеричное достаточно разбить его на тройки и заменить их соответствующими им цифрами из восьмеричной системы счисления. Разбивать на тройки нужно начинать с конца, а недостающие цифры в начале заменить нулями. Например:
1011101 = 1 011 101 = 001 011 101 = 1 3 5 = 135
Т.е число 1011101 в двоичной системе счисления равно числу 135 в восьмеричной системе счисления. Или 10111012 = 1358.
Обратный перевод. Допустим, требуется перевести число 1008 (не заблуждайтесь! 100 в восьмеричной системе – это не 100 в десятичной) в двоичную систему счисления.
1008 = 1 0 0 = 001 000 000 = 001000000 = 10000002
Перевод восьмеричного числа в десятичное можно осуществить по уже знакомой схеме:
6728 = 6 * 8 2 + 7 * 8 1 + 2 * 8 0 = 6 * 64 + 56 + 2 = 384 + 56 + 2 = 44210
1008 = 1 * 8 2 + 0 * 8 1 + 0 * 8 0 = 6410
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления, так же как и восьмеричная, широко используется в компьютерной науке из-за легкости перевода в нее двоичных чисел. При шестнадцатеричной записи числа получаются более компактными.
В шестнадцатеричной системе счисления используются цифры от 0 до 9 и шесть первых латинских букв – A (10), B (11), C (12), D (13), E (14), F (15).
При переводе двоичного числа в шестнадцатеричное, первое разбивается на группы по четыре разряда, начиная с конца. В случае, если количество разрядов не делится нацело, то первая четверка дописывается нулями впереди. Каждой четверке соответствует цифра шестнадцатеричной системе счисления:
Например:
10001100101 = 0100 1100 0101 = 4 C 5 = 4C5
Если потребуется, то число 4C5 можно перевести в десятичную систему счисления следующим образом (C следует заменить на соответствующее данному символу число в десятичной системе счисления – это 12):
4C5 = 4 * 162 + 12 * 161 + 5 * 160 = 4 * 256 + 192 + 5 = 1221
Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи – это FF.
FF = 15 * 161 + 15 * 160 = 240 + 15 = 255
255 – это максимальное значение одного байта, равного 8 битам: 1111 1111 = FF. Поэтому с помощью шестнадцатеричной системы счисления очень удобно кратко (с помощью двух цифр-знаков) записывать значения байтов. Внимание! Состояний у 8-ми битного байта может быть 256, однако максимальное значение – 255. Не забывайте про 0 – это как раз 256-е состояние
118924 в 10 системе счисления = 350214 в х системе счисления, как найти х? если можно то попродобнее
5 ответов 5
Это ж всё брутфорс, это ж несерьезно 🙂
На самом деле, конечно, перебор здесь вполне подходит, и можно дать ему границы сразу — по количеству цифр, по максимальной цифре. Но есть же и аналитический метод.
Это означает, что
3x 5 + 5x 4 + 2x 2 + x – 118920 = 0
Классический многочлен пятой степени. И теперь нужно просто решить полиномиальное уравнение. По основной теореме алгебры у него будет пять комплексных корней, нас, правда, интересует только действительный, хорошо бы положительный, и хорошо бы целый 🙂
Из теоремы Абеля-Руффини известно, что аналитически мы такое уравнение не решим в общем случае, но я бы даже и пробовать не стал: на то придуманы численные методы, которых всяких есть многатыщ — выбрать можно по вкусу, начиная хоть с метода товарища Ньютона. Решаем, и получаем:
x = 8
Хорошо и красиво. Ну можете еще добить преподавателя комплексными корнями, сказав, что это же число записывается точно так же в системе счисления с основанием (-7.07949 – 4.865i) 🙂
1) если нужно проверить может ли быть такое число a в данной системе счисления с основанием b, проверьте что все цифры a меньше основания b
т.е. 2358 не может являться числом в 4-ной СС
2)если вы перевели число a из десятичной СС в p-ичную, то для того, чтобы проверить, верно ли вы это сделали, просто переведите ее обратно в десятичную, и проверьте, получится ли то же число а.
Для того чтобы перевести число из p-ичной СС в десятичную, умножьте первую справа цифру на 1, вторую справа на p, третью на p², и т.д. умножая на степени p, а потом найдите сумму всего этого
Задача №16. Поиск основания системы по окончанию числа, уравнения и различные кодировки, арифметические действия в различных системах.
Перед тем, как приступить к решению задач, нам нужно понять несколько несложных моментов.
Рассмотрим десятичное число 875. Последняя цифра числа (5) – это остаток от деления числа 875 на 10. Последние две цифры образуют число 75 – это остаток от деления числа 875 на 100. Аналогичные утверждения справедливы для любой системы счисления:
Последняя цифра числа – это остаток от деления этого числа на основание системы счисления.
Последние две цифры числа – это остаток от деления числа на основание системы счисления в квадрате.
Например, . Разделим 23 на основание системы 3, получим 7 и 2 в остатке (2 – это последняя цифра числа в троичной системе). Разделим 23 на 9 (основание в квадрате), получим 18 и 5 в остатке (5 = ).
Вернемся опять к привычной десятичной системе. Число = 100000. Т.е. 10 в степени k– это единица и k нулей.
Аналогичное утверждение справедливо для любой системы счисления:
Основание системы счисления в степени k в этой системе счисления записывается как единица и k нулей.
1. Поиск основания системы счисления
Пример 1.
В системе счисления с некоторым основанием десятичное число 27 записывается в виде 30. Укажите это основание.
Решение:
Обозначим искомое основание x. Тогда .Т.е. x = 9.
Пример 2.
В системе счисления с некоторым основанием десятичное число 13 записывается в виде 111. Укажите это основание.
Решение:
Обозначим искомое основание x. Тогда
Решаем квадратное уравнение, получаем корни 3 и -4. Поскольку основание системы счисления не может быть отрицательным, ответ 3.
Ответ: 3
Пример 3
Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 29 оканчивается на 5.
Решение:
Если в некоторой системе число 29 оканчивается на 5, то уменьшенное на 5 число (29-5=24) оканчивается на 0. Ранее мы уже говорили, что число оканчивается на 0 в том случае, когда оно без остатка делится на основание системы. Т.е. нам нужно найти все такие числа, которые являются делителями числа 24. Эти числа: 2, 3, 4, 6, 8, 12, 24. Заметим, что в системах счисления с основанием 2, 3, 4 нет числа 5 (а в формулировке задачи число 29 оканчивается на 5), значит остаются системы с основаниями: 6, 8, 12,
Ответ: 6, 8, 12, 24
Пример 4
Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 71 оканчивается на 13.
Если в некоторой системе число оканчивается на 13, то основание этой системы не меньше 4 (иначе там нет цифры 3).
Уменьшенное на 3 число (71-3=68) оканчивается на 10. Т.е. 68 нацело делится на искомое основание системы, а частное от этого при делении на основание системы дает в остатке 0.
Выпишем все целые делители числа 68: 2, 4, 17, 34, 68.
2 не подходит, т.к. основание не меньше 4. Остальные делители проверим:
68:4 = 17; 17:4 = 4 (ост 1) – подходит
68:17 = 4; 4:17 = 0 (ост 4) – не подходит
68:34 = 2; 2:17 = 0 (ост 2) – не подходит
68:68 = 1; 1:68 = 0 (ост 1) – подходит
2. Поиск чисел по условиям
Пример 5
Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 25, запись которых в системе счисления с основанием четыре оканчивается на 11?
Решение:
Для начала выясним, как выглядит число 25 в системе счисления с основанием 4.
. Т.е. нам нужно найти все числа, не больше , запись которых оканчивается на 11. По правилу последовательного счета в системе с основанием 4,
получаем числа и . Переводим их в десятичную систему счисления:
3. Решение уравнений
Пример 6
Ответ запишите в троичной системе (основание системы счисления в ответе писать не нужно).
Переведем все числа в десятичную систему счисления:
Квадратное уравнение имеет корни -8 и 6. (т.к. основание системы не может быть отрицательным). .
Ответ: 20
4. Подсчет количества единиц (нулей) в двоичной записи значения выражения
Для решения этого типа задач нам нужно вспомнить, как происходит сложение и вычитание «в столбик»:
При сложении происходит поразрядное суммирование записанных друг под другом цифр, начиная с младших разрядов. В случае, если полученная сумма двух цифр больше или равна основанию системы счисления, под суммируемыми цифрами записывается остаток от деления этой суммы на основание системы, а целая часть от деления этой суммы на основание системы прибавляется к сумме следующих разрядов.
При вычитании происходит поразрядное вычитание записанных друг под другом цифр, начиная с младших разрядов. В случае, если первая цифра меньше второй, мы «занимаем» у соседнего (большего) разряда единицу. Занимаемая единица в текущем разряде равна основанию системы счисления. В десятичной системе это 10, в двоичной 2, в троичной 3 и т.д.
Пример 7
Сколько единиц содержится в двоичной записи значения выражения: ?
Представим все числа выражения, как степени двойки:
В двоичной записи двойка в степени n выглядит, как 1 и n нулей. Тогда суммируя и , получим число, содержащее 2 единицы:
Теперь вычтем из получившегося числа 10000. По правилам вычитания занимаем у следующего разряда.
Теперь прибавляем к получившемуся числу 1:
Видим, что у результата 2013+1+1=2015 единиц.
[spoiler title=”источники:”]
http://4systems.ru/inf/kak-opredelit-osnovanie-chisla-v-informatike/
http://ege-study.ru/ru/ege/materialy/informatika/zadacha-16-razbor-razlichnyx-tipov-zadach/
[/spoiler]