Преобразование чисел в разные системы счисления кратко

Обновлено: 03.07.2024

Представить нашу жизнь без цифр сложно – числа помогают выражать, измерять, отслеживать не только различные физические показатели, но и оценивать знания, степень распространения болезни и многое другое. А как человечество пришло к цифрам, почему все используют одинаковые знаки и существуют ли другие варианты счета.

План урока:

А описание чисел при помощи специальных знаков и является системой счисления.

Системы счисления – виды, особенности

Система счисления (СС) – способ выражения чисел при помощи специальных правил и знаков, которые называются цифрами.

Все существующие системы делят на 2 группы:

  1. Позиционные системы счисления – такие, в которых, в зависимости от положения, цифры будет иметь разное значение. К этой группе относится арабская СС, в которой на первом месте справа цифра будет обозначать единицы, на втором – десятки, на третьем – сотни и так далее.

Чтобы выразить число 475, достаточно по порядку написать 3 символа, 475, выражая 5 единиц, 7 десятков и 4 сотни.

К этой группе также относятся СС с различными основаниями (2,8,16).

  1. Непозиционные СС – имеет значение именно знак, а не его положение. Единицы, десятки, сотни обозначаются определенными символами. Яркий представитель этой группы – римская СС.

Еще одна особенность – чтобы выразить число и не использовать сотни символов, применяется прибавление и вычитание. Написать 475 римскими знаками можно так CCCCXXXXXXXIIIII, но это нерационально. Если отнимать или прибавлять цифры, получится меньшее количество символов – CDLXXV. Цифра слева означает, что ее нужно отнять от большего числа, а справа – прибавить.

8 – VIII или IIX

Правильным считается тот вариант, при котором получается меньше символов.

Интересно. Первой позиционной СС была вавилонская и была она шестнадцатиричная! А в 19 веке использовали двенадцатеричную СС.

Алфавит СС – знаки, которые используются для обозначения цифр.

Основание – количество знаков, которыми кодируются числа. Еще оно показывает отличие между цифрами на разных позициях. Основание – целое число, начиная с 2.

Важно. Если в тексте идет речь о различных системах, то чтобы уточнить, какая используется основа, ставится подстрочный знак: 12548, 011001112. Примеры? Если же обозначения нет, по умолчанию это десятичная (12549).

Разряд – положение, позиция обозначения цифры в числе. Пример?

Непозиционные СС, их особенности

Первоначально древние люди ставили отметки (черточки-зарубки, точки), чтобы обозначить количество того или иного предмета. Отклики этого подхода все еще встречаются (полоски у военных, счетные палочки).

Постепенно от единиц они переходили к группам предметов по 3, 5, 10 единиц. Постепенно такие группы стали обозначаться определенными символами, что позволило сократить размер записи.

Римская СС

В ней определенным цифрам отвечают латинские буквы. Их сумма и будет числом.

Основные рекомендации при пользовании римскими цифрами:

  1. Символы следует писать по убыванию слева направо.
  2. Нежелательно записывать подряд более 3 одинаковых знаков.
  3. Положение цифры обозначает, какой ее вклад – отрицательный, если она стоит слева от большего числа, положительный – справа.

Таблица римских цифр

Недостаток этой СС в том, что для больших чисел недоступны операции сложения или другие, ещё она сложная и громоздкая. Зато римские цифры отлично вписались там, где нужна нумерация и эстетика: циферблаты, номера глав, списки, серии документов.

Основные позиционные СС, правила перевода

Двоичная система счисления

Систему, на которой основывается работа компьютеров, придумал гениальный немецкий ученый Г.В. Лейбниц (еще до 19 века!). Он придумал и описал СС, в которой все вычисления проводятся при помощи двух простейших символов – 0 и 1.

Компьютер, как механическое устройство, получает команды в виде двоичной кодировки. Он не в силах понять сложные задания, человеческую речь, музыку или тысячи оттенков, а переводя/кодируя всю необходимую информацию при помощи 0 и 1 (сеть, отсутствие сети), можно передать ему любые команды или информацию. Естественно, такие задания выглядят как огромные массивы двух знаков.

Алгоритм перевода чисел из десятичной в двоичную систему:

  1. Деление на основу СС до тех пор, пока не останется в остатке значение меньше значения основы.
  2. Записать остатки, от последнего к первому.
  3. Первый ноль можно не писать.

0 111 0100 11002

Обычно мы пользуемся свернутой формой записи чисел, то есть без разбивки на разряды и умножения на основу.

А чтобы было легче, пользуются готовой таблицей степеней 2.

Альтернативный способ преобразования для гуманитариев

Для начала нужно написать степени двойки, начиная с самой большой:

Далее нужно отнимать от числа максимальную степень двойки и напротив нее ставить 1, если есть в исходном варианте или 0, если его нет.
Перевод числа 579

Обратно еще проще. Подсчитать количество знаков – это будет степень 2 в степени -1. И так далее. А проще при помощи той же таблицы:

Если же оно на 1 больше, то число будет начинаться и заканчиваться на 1, а внутри – сплошные 0.

Основой такой системы является 8, а числа восьмеричной системы 0-7. Данная система счисления является позиционной и целочисленной. Применяется в сферах, связанных с цифровыми технологиями, особенно в Linux-программном обеспечении (права доступа, исполнения).

Пример: Перевести 5798 из десятичной в восьмеричную систему счисления:

Обратный перевод из восьмеричной СС в десятичную:

11038 = 1∙8 3 +1∙8 2 +0∙8 1 +3∙8 0 = 512+64+0+3 = 57910

Альтернативный вариант таблицы степеней

Шестнадцатеричная СС

Стандарт Юникод использует 4 и более символов 16-ой СС.

Для записи цвета из красного, зеленого и синего (R, G и B) также используют эту систему.

Алгоритм преобразования чисел в 16СС

Способ преобразования аналогичный предыдущим – расписывание числа как многочлена с учетом степеней 16. Для этого число делится на 16, в итоге – перечень остатков от деления, записанных наоборот.

В сети есть калькуляторы, способные выполнять преобразование чисел в различные СС и обратно (некоторые даже с детальным описанием процесса).

Арифметика для 2СС

Принципы выполнения простейших арифметических операций одинаковы для любых позиционных систем, независимо от основы:

Особенности арифметики СС с разными основами:

  • при сложении чисел двух 1 в двоичной системе переполняется младший разряд (сумма = или ˃ основания СС), то единица переходит к большему разряду;
  • если есть 0-1=1, идет заимствование из старшего разряда;
  • умножать 2СС удобнее всего в столбик, учитывая 4 основные правила;
  • заем единиц в 2СС при отнимании/делении, тогда она дает промежуточным разрядам по 1, а для занимаемого разряда сразу 11.

Примеры арифметических операций:

Для удобства разработаны готовые таблицы сложения в различных системах:

С их помощью можно быстро суммировать в различных СС.

Сложение для разных СС на примере 15 и 6:

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

Переводим число 56 в восьмеричную через двоичную:

Сравнение систем

СС могут быть с произвольной основой, но популярны 2,8,10,16-ые.

Сравнительная таблица разных систем счисления:

Перевод числа 75 в разные системы:

Правила перевода из двоичной, восьмеричной и шестнадцатеричной в 10СС:

Исходный вариант следует разделить на тройки цифр, с крайней справа. Если не хватает, старший разряд дополнить 0. Далее под каждой триадой ставится подходящий символ из 8‑ой системы.

Рассмотрим перевод на примере числа 579, которое соответствует 10010000112

001 001 000 011

Правила перевода из двоичной в шестнадцатеричную систему счисления:

Число разбивается по 4 знака, начиная справа (с меньшего разряда). Если не будет хватать символов у старшего разряда, тетраду дополняют нулями.

Сравнительный перевод дробей в СС

Чтобы перевести правильные дроби из 10-ой СС в другие позиционные, следует придерживаться правила, которое хорошо видно на примере перевода числа 0,35:

Удобно писать над каждой цифрой порядок, а дальше ее умножить на основу СС в степени разряда.

Перевод целых и дробей в 2СС, 8СС, 16СС:

Таблицы истинности

При помощи тех же нулей и единиц создаются таблицы истинности логических выражений, в которых описаны всевозможные варианты.

Основные логические операции

Например, конъюнкция является одной из логических операций. Она является истиной только в том случае, если два высказывания имеют истинные значения.

Логические переменные таблицы истинности обозначают p и q, а их значения выражают при помощи 0 и 1, где 0 – ложь, 1 – истина:

Фрагмент таблицы истинности для конъюнкции.

Так выражаются условия для всех логических операций.

Применяются таблицы истинности еще с начала 20 века в алгебре, логике, программировании.

При программировании мы часто сталкиваемся с необходимостью перевода чисел между системами счисления, по основанию: 2, 4, 8, 16 и 10.

Основание системы счисления указывает какое количество цифр используется в этой системе для написания чисел:

  • Привычная нам система счисления по основанию 10 (десятичная система счисления) использует 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. После 9 идёт не цифра, а число 10, состоящее из двух цифр: 1 и 0. Таким образом, мы записываем любые числа, используя указанные цифры в определённой последовательности.
  • Система счисления по основанию 2 (двоичная система счисления) использует 2 цифры: 0, 1.
  • Система счисления по основанию 4 (четверичная система счисления) использует 4 цифры: 0, 1, 2, 3.
  • Система счисления по основанию 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. В данном случае, буквы ABCDEF являются цифрами. Цифра A шестнадцатеричной системы, равна числу 10 десятичной системы, цифра B равна числу 11 десятичной системы, . , цифра F равна числу 15 десятичной системы.

Можно использовать любую систему счисления, например по основанию 12 (счет дюжинами), но наиболее популярными при программировании, являются: десятичная, шестнадцатеричная и двоичная, системы счисления.

Все выше перечисленные системы счисления относятся к позиционным системам. Значение числа зависит не только от того из каких цифр оно состоит, но и в какой последовательности они записаны. Например число 1234 не равно числу 4321.

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

  • двоичная система счисления:
    • (10101)2 - математическое представление (число)основание системы
    • 0b10101 - представление в скетчах Arduino IDE (число записывается с ведущими символами "0b").
    • B10101 - представление в скетчах Arduino IDE (число до 256 записывается с ведущим символом "B").
    • (10101)8 - математическое представление (число)основание системы
    • 010101 - представление в скетчах Arduino IDE (число записывается с ведущим символом "0" ноль).
    • (10101)10 - математическое представление (число)основание системы
    • 10101 - представление в скетчах Arduino IDE (число записывается как есть без ведущих символов)
    • (10101)16 - математическое представление (число)основание системы
    • 0x10101 - представление в скетчах Arduino IDE (число записывается с ведущими символами "0x").

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

    Для перевода числа из любой системы счисления в десятичную нужно сложить все цифры этого числа, предварительно умножив каждое из них на основание системы счисления, из которой производится перевод, возведя её в степень соответствующую позиции цифры в числе:

    Σ(цифра_числа * основание_системы позиция_цифры )

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

    Перевод чисел из десятичной системы счисления:

    Для перевода чисел из десятичной системы счисления в любую другую, необходимо целочисленно делить переводимое число на основание той системы, в которую мы хотим его перевести, до тех пор пока результат целочисленного деления не станет равен 0. Результатом перевода будут цифры остатка от каждого деления, в обратном порядке.

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

    • (43)10 перевести в двоичную систему счисления:
      • 43/2 = 21 и 1 в остатке
      • 21/2 = 10 и 1 в остатке
      • 10/2 = 5 и 0 в остатке
      • 5/2 = 2 и 1 в остатке
      • 2/2 = 1 и 0 в остатке
      • 1/2 = 0 и 1 в остатке
      • результат - цифры остатков в обратном порядке = (101011)2
      • 751/8 = 93 и 7 в остатке
      • 93/8 = 11 и 5 в остатке
      • 11/8 = 1 и 3 в остатке
      • 1/8 = 0 и 1 в остатке
      • результат - цифры остатков в обратном порядке = (1357)8
      • 15305/16 = 956 и 9 в остатке
      • 956/16 = 59 и 12 в остатке - соответствует цифре (C)16
      • 59/16 = 3 и 11 в остатке - соответствует цифре (B)16
      • 3/16 = 0 и 3 в остатке
      • результат - цифры остатков в обратном порядке = (3BC9)16

      Простой метод перевода:

      Легче всего переводить числа через двоичную систему счисления. О том как это сделать рассказано в нашем видеоуроке.

      Система счисления — это метод представления чисел с помощью письменных знаков.

      Общие сведения о системах счисления

      Различные системы счисления, которые существовали раньше и используются сегодня, подразделяются на следующие типы:

      • Позиционные системы счисления.
      • Непозиционные системы счисления.

      Обозначения, используемые для отображения чисел, принято называть цифрами. Когда применяется непозиционная система счисления, фактический вес цифры в обозначении числа никак не зависит от её местоположения. Примером непозиционной системы счисления является римская система счисления, которая использует латинские символы для обозначения цифровых величин. Для позиционной системы счисления существует характерная зависимость цифровой величины в обозначении числа от той позиции, в которой расположена цифра.

      Количество используемых цифр в любой системе счисления является её основанием. Каждая цифра в числе располагается на определённом месте, именуемом позицией. Первой позиционной системой счисления принято считать шестидесятеричную систему счисления древнего Вавилона. Цифры в данной системе могли быть двух типов, то есть это единицы и десятки. Но широкого распространение такая система не получила, однако его получила арабско-индийская десятичная система счисления. В Индии люди первыми стали использовать нуль для указания того, каким весом обладает текущая позиция в строке цифр. Система получила название десятичной, так как обладала совокупностью, состоящей из десяти цифр.

      Перевод числа в разные системы счисления

      Как отмечалось выше, системой счисления является метод представления чисел. Одно и то же число можно представить в разных видах. К примеру, число 200 в привычной всем десятичной системе имеет несколько другое отображение в других системах счисления, а именно:

      1. 11001000 в двоичной системе счисления.
      2. 310 в восьмеричной системе счисления.
      3. C8 в шестнадцатеричной системе счисления.

      Готовые работы на аналогичную тему

      Чтобы указать тип системы счисления при записи числа применяется так называемый используется нижний индекс, который следует поставить после числа:

      $200_ = 11001000_2 = 310_8 = C8_$

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

      Двоичная система счисления в основном применяется в вычислительной технике. Для записи чисел в этой системе применяются всего две цифры, а именно, нуль и единица.

      Восьмеричная система счисления тоже иногда используется в вычислительной технике. Для записи чисел в этой системе применяются цифры от нуля до семи.

      Шестнадцатеричная система счисления, пожалуй, является самой распространённой современном компьютерном оборудовании. С её помощью может быть указан цвет, например:

      Для записи чисел в этой системе применяются цифры от нуля до девяти, а также буквы A, B,C,D,E,F, обозначающие соответственно числа 10,11,12,13,14,15.

      Выполнить преобразование числа из какой-либо системы счисления в десятичную систему возможно путём осуществления следующих действий:

      1. Все разряды числа следует умножить на $X_n$, где X является основанием исходного числа, а n определяет номер разряда.
      2. Выполнить суммирование полученных значений.

      Формула этих действий имеет следующий вид:

      $abc_x = (a*x^2 + b*x^1 + c*x^0)_$

      Ниже приведены примеры подобных преобразований:

      $567_8 = (5*8^2 + 6*8^1 + 7*8^0)_ = 375_$

      $110_2 = (1*2^2 + 1*2^1 + 0*2^0)_ = 6_$

      Для перевода числа из десятичной системы счисления в другие системы, необходимо выполнить следующие действия:

      1. Выполнить деление десятичного число на основание системы счисления, в которую необходимо осуществить перевод, и записать остатки от деления.
      2. Записать полученные остатки в обратном порядке, что и даст в итоге искомое число.

      Рассмотрим пример перевода числа $375_$ в восьмеричную систему:

      1. 375 / 8 = 46 (остаток семь)
      2. 46 / 8 = 5 (остаток шесть)
      3. 5 / 8 = 0 (остаток пять)
      4. Выполняем запись остатков, что в итоге даёт число 5678

      Рассмотрим способы преобразования числа из двоичной системы счисления в восьмеричную систему. Первый способ:

      1. Чтобы выполнить перевод из двоичной системы счисления в восьмеричную, следует разбить двоичное число на группы по три цифры справа налево.
      2. В последней группе, которая слева, вместо недостающих цифр следует ставить слева нули.
      3. Для каждой сформированной группы нужно выполнить умножение всех разрядов на $2^n$, где n является номером разряда.

      Ниже приведён пример такого преобразования:

      $1101_2 = (001) (101) = (0*2^2 + 0*2^1 + 1*2^0) (1*2^2 + 0*2^1 + 1*2^0) = (0+0+1) (4+0+1) = (1) (5) = 15_8$

      Второй способ предполагает следующие действия:

      1. Аналогично первому способу необходимо разбить число на группы.
      2. Вместо преобразований в скобках следует просто заменить сформированные триадные группы на необходимые цифры восьмеричной системы счисления, с помощью следующей таблицы триад:

      Таблица. Автор24 — интернет-биржа студенческих работ

      Рисунок 1. Таблица. Автор24 — интернет-биржа студенческих работ

      Ниже приведён пример преобразования по этому способу:

      $10111010_2 = (010) (111) (010) = 272_8$

      Рассмотрим способы преобразования числа из двоичной системы счисления в шестнадцатеричную систему. Первый способ заключается в выполнении следующих операций:

      1. Выполнить разбиение числа на группы по четыре цифры справа налево.
      2. Последнюю (левую) группу следует при необходимости дополнить ведущими нулями.
      3. Внутри каждой сформированной группы следует осуществить умножение каждой цифры на $2^n$, где n является номером разряда.
      4. Выполнить сложение результатов.

      Ниже приведён пример такого преобразования:

      $11010_2 = (0001) (1010) = (0*2^3 + 0*2^2 + 0*21 + 1*2^0) (1*2^3 + 0*2^2 + 1*2^1 + 0*2^0) = (0+0+0+1) (8+0+2+0) = (1) (10) = 1A_$

      Данный конвертер переводит числа между наиболее популярными системами счисления: десятичной, двоичной, восьмеричной, шестнадцатеричной.

      Система счисления - это способ представления числа. Одно и то же число может быть представлено в различных видах. Например, число 200 в привычной нам десятичной системе может иметь вид 11001000 в двоичной системе, 310 в восьмеричной и C8 в шестнадцатеричной.

      Существуют и другие системы счисления, но мы не стали включать их в конвертер из-за низкой популярности.

      Для указания системы счисления при записи числа используется нижний индекс, который ставится после числа:
      20010 = 110010002 = 3108 = C816

      Кратко об основных системах счисления

      Десятичная система счисления. Используется в повседневной жизни и является самой распространенной. Все числа, которые нас окружают представлены в этой системе. В каждом разряде такого числа может использоваться только одна цифра от 0 до 9.

      Двоичная система счисления. Используется в вычислительной технике. Для записи числа используются цифры 0 и 1.

      Восьмеричная система счисления. Также иногда применяется в цифровой технике. Для записи числа используются цифры от 0 до 7.

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

      Преобразовать число из любой системы счисления в десятичную можно следующим образом: каждый разряд числа необходимо умножить на X n , где X - основание исходного числа, n - номер разряда. Затем суммировать полученные значения.

      Перевод из десятичной системы счисления в другие

      Делим десятичное число на основание системы, в которую хотим перевести и записываем остатки от деления. Запишем полученные остатки в обратном порядке и получим искомое число.

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

      Перевод из двоичной системы в восьмеричную

      Для перевода в восьмеричную систему нужно разбить двоичное число на группы по 3 цифры справа налево. В последней (самой левой) группе вместо недостающих цифр поставить слева нули. Для каждой полученной группы произвести умножение каждого разряда на 2 n , где n - номер разряда.

      11012 = (001) (101) = (0*2 2 + 0*2 1 + 1*2 0 ) (1*2 2 + 0*2 1 + 1*2 0 ) = (0+0+1) (4+0+1) = (1) (5) = 158

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

      Триада 000 001 010 011 100 101 110 111
      Цифра 0 1 2 3 4 5 6 7

      Перевод из двоичной системы в шестнадцатеричную

      Разбиваем число на группы по 4 цифры справа налево. Последнюю (левую) группу дополним при необходимости ведущими нулями. Внутри каждой полученной группы произведем умножение каждой цифры на 2 n , где n - номер разряда, и сложим результаты.

      110102 = (0001) (1010) = (0*2 3 + 0*2 2 + 0*2 1 + 1*2 0 ) (1*2 3 + 0*2 2 + 1*2 1 + 0*2 0 ) = (0+0+0+1) (8+0+2+0) = (1) (10) = 1A16

      Также как и в первом способе разбиваем число на группы по 4 цифры. Заменим полученные группы (тетрады) на соответствующие цифры шестнадцатеричной системы, используя таблицу тетрад:

      Тетрада 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
      Цифра 0 1 2 3 4 5 6 7 8 9 A B C D E F

      Перевод из восьмеричной системы в двоичную

      Каждый разряд восьмеричного числа будем делить на 2 и записывать остатки в обратном порядке, формируя группы по 3 разряда двоичного числа. Если в группе получилось меньше 3 разрядов, тогда дополняем нулями. Записываем все группы по порядку, отбрасываем ведущие нули, если имеются, и получаем двоичное число.

      Возьмем число 438.
      Делим последовательно 4 на 2 и получаем остатки 0,0,1. Записываем их в обратном порядке. Получаем 100.
      Делим последовательно 3 на 2 и получаем остатки 1,1. Записываем их в обратном порядке и дополняем ведущими нулями до трех разрядов. Получаем 011.
      Записываем вместе и получаем 1000112

      Используем таблицу триад:

      Цифра 0 1 2 3 4 5 6 7
      Триада 000 001 010 011 100 101 110 111

      Каждую цифру исходного восьмеричного числа заменяется на соответствующие триады. Ведущие нули самой первой триады отбрасываются.

      Перевод из шестнадцатеричной системы в двоичную

      Аналогично переводу из восьмеричной в двоичную, только группы по 4 разряда.

      Используем таблицу тетрад:

      Цифра 0 1 2 3 4 5 6 7 8 9 A B C D E F
      Тетрада 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

      Каждую цифру исходного числа заменяется на соответствующие тетрады. Ведущие нули самой первой тетрады отбрасываются.

      Перевод из восьмеричной системы в шестнадцатеричную и наоборот

      Такую конвертацию можно осуществить через промежуточное десятичное или двоичное число. То есть исходное число сначала перевести в десятичное (или двоичное), и затем полученный результат перевести в конечную систему счисления.

      Читайте также: