Урок 32. Перевод чисел между системами счисления
При программировании мы часто сталкиваемся с необходимостью перевода чисел между системами счисления, по основанию: 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
Простой метод перевода:
Легче всего переводить числа через двоичную систему счисления. О том как это сделать рассказано в нашем видеоуроке.
СЛОЖЕНИЕ ДЕЛЕНИЕ УМНОЖЕНИЕ ЧИСЕЛ В ЛЮБОЙ СИСТЕМЕ СЧИСЛЕНИЯ ОНЛАЙН
Этот калькулятор умеет осуществлять простейшие арифметические операции над числами. Причем числа могут быть введены в разных системах счисления.
Вам необходимо определиться сколько чисел вам необходимо посчитать и выбрать это количество в графе количество чисел.
Далее Вам необходимо ввести каждое число и выбрать его систему счисления. Если в указанном списке Вы не нашли нужной СС, то выберите пункт другая и введите числом основание вашей системы счисления.
После ввода всех чисел и выбора арифметических операций нажмите кнопку рассчитать.
- Калькулятор
- Инструкция
- Теория
- История
- Сообщить о проблеме
Этот калькулятор умеет осуществлять простейшие арифметические операции над числами. Причем числа могут быть введены в разных системах счисления.
Пример решения: 5436 7 — 1101 2
Пример состоит из двух чисел 5436 7 и 1101 2 где в первом 7 и втором 2 — это основания системы счисления.Введем сначала 5436 7 в поле «число 1» без основания СС (то есть без 7) и укажем его систему в соответствующем поле — выбираем пункт другая и вводим 7. Результат на скришоте:


Теперь также введем число 11011 в двоичной системе счисления:

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

Теперь нажимаем копку «Рассчитать» и смотрим результат:
Если хотите посмотреть ход решения, то нажмите ссылку «Показать как оно получилось»
Если Вам необходимо рассчитать более двух чисел то выберите нужное количество в пункте «Количество чисел» Максимум 7 чисел.
При расчете сначала выполняются операции деления и умножения затем сложения и вычитания.Вы можете выполнять операции расчета деления столбиком.
Последние 20 расчетов на этом калькуляторе
- Умножение 1011010011*1001111101 в двоичной Выполнен: 2023-12-09 17:05 МСК
- Деление AB19F÷F67A в шестнадцатеричной Выполнен: 2023-12-09 16:57 МСК
- Вычитание 22EF-FFCE в шестнадцатеричной Выполнен: 2023-12-09 16:52 МСК
- Вычитание B313-F31D в шестнадцатеричной Выполнен: 2023-12-09 16:50 МСК
- Сложение 101101+000110 в двоичной Выполнен: 2023-12-09 16:49 МСК
- Деление 11101011÷111101 в двоичной Выполнен: 2023-12-09 16:49 МСК
- Сложение 4536+7627 в восьмеричной Выполнен: 2023-12-09 16:48 МСК
- Вычитание 53311-5361 в восьмеричной Выполнен: 2023-12-09 16:48 МСК
- Умножение 1110101*1111 в двоичной Выполнен: 2023-12-09 16:47 МСК
- Сложение 5B585+E707 в шестнадцатеричной Выполнен: 2023-12-09 16:46 МСК
- Деление 40÷15 в шестнадцатеричной Выполнен: 2023-12-09 16:45 МСК
- Вычитание 1110111011-11111101 в двоичной Выполнен: 2023-12-09 16:45 МСК
- Деление 1000000÷10101 в двоичной Выполнен: 2023-12-09 16:40 МСК
- Сложение 28F+423 в шестнадцатеричной Выполнен: 2023-12-09 16:39 МСК
- Сложение 0101010+101010 в двоичной Выполнен: 2023-12-09 16:39 МСК
- Сложение 02BF9+07 в шестнадцатеричной Выполнен: 2023-12-09 16:37 МСК
- Сложение 27D+28A в шестнадцатеричной Выполнен: 2023-12-09 16:25 МСК
- Сложение 2F6.05+29A.90 в шестнадцатеричной Выполнен: 2023-12-09 16:24 МСК
- Вычитание 1-0.0010010001 в десятичной Выполнен: 2023-12-09 16:23 МСК
- Вычитание 1-0.1101101110 в десятичной Выполнен: 2023-12-09 16:23 МСК
Двоичная арифметика
Выполнение арифметических действий в любых позиционных системах счисления производится по тем же правилам, которые используются в десятичной системе счисления.
Так же, как и в десятичной системе счисления, для выполнения арифметических действий необходимо знать таблицы сложения (вычитания) и умножения.
Таблица сложения, вычитания и умножения для двоичной системы счисления
Сложение Вычитание Умножение 0 + 0 = 0 0 — 0 = 0 0 ∙ 0 = 0 0 + 1= 1 1 — 0 = 1 0 ∙ 1 = 0 1 + 0 = 1 1 — 1 = 0 1 ∙ 0 = 0 1 + 1 = 10 10 — 1 = 1 1 ∙ 1 = 1 Сложение двоичных чисел
Сложение в двоичной системе счисления выполняется по тем же правилам, что и в десятичной. Два числа записываются в столбик с выравниванием по разделителю целой и дробной части и при необходимости дополняются справа незначащими нулями. Сложение начинается с крайнего правого разряда. Две единицы младшего разряда объединяются в единицу старшего.

Пример : 1011,12 + 1010,112

Интересна также ситуация, когда складываются больше двух чисел. В этом случае возможен перенос через несколько разрядов.
Пример : 111,12 + 1112 + 101,12При сложении в разряде единиц (разряд 0) оказывается 4 единицы, которые, объединившись, дают 1002. Поэтому из нулевого разряда в первый разряд переносится 0, а во второй — 1.
Аналогичная ситуация возникает во втором разряде, где с учетом двух перенесенных единиц получается число 5 = 1012. 1 остается во втором разряде, 0 переносится в третий и 1 переносится в четвёртый.Вычитание двоичных чисел

В случаях, когда занимается единица старшего разряда, она дает две единицы младшего разряда. Если занимается единица через несколько разрядов, то она дает по одной единице во всех промежуточных нулевых разрядах и две единицы в том разряде, для которого занималась.
Пример : 10110,012 — 1001,12Умножение и деление двоичных чисел

Зная операции двоичной арифметики, можно переводить числа из двоичной системы счисления в любую другую.
Пример: Перевести число 1011110112 в десятичную систему счисления.
Поскольку 1010 = 10102, запишем
Полученные остатки, 10012 = 910, =1112 = 710, 112 = 310. Искомое число 1011110112 = 37910.
Комментариев к записи: 5
Как сложить числа если они в РАЗНЫХ системах счисления. ??
есть система перевода чисел из лдной сс в другую. сначала надо перевести, потом складывать. на примере надо бы объяснять.
перевести в однй систему счисления
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.