Как в экселе перевести из десятичной в двоичную систему счисления

Как в экселе перевести из десятичной в двоичную систему счисления

Система чисел является систематическим способом представления чисел символьными символами и использует базовое значение для удобной группировки чисел в сжатой форме. Самая распространенная система числов — десятичная, которая имеет базовое значение 10, и набор символов 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Однако существуют и другие числовые системы, которые могут быть более эффективными для определенной цели. Например, так как на компьютерах используется логическое значение для вычислений и операций, для выполнения вычислений и операций используется двоичная числовая система, которая имеет базовое значение 2.

Microsoft Office Excel есть несколько функций, которые можно использовать для преобразования чисел в числовые системы и из них:

Функция ОСНОВАНИЕ в Excel переводит число в систему счисления

Функция ОСНОВАНИЕ выполняет преобразование числового значение в указанную систему счисления (двоичная, восьмеричная, шестнадцатеричная и т. д.) и возвращает соответствующий результат в виде текстовой строки.

Примеры использования функции ОСНОВАНИЕ в Excel

Пример 1. Для хранения чисел в БД удобно использовать их представление в двоичной системе счисления. Выполнить преобразование представленных значений.

Пример 1.

Для преобразования используем формулу:

ОСНОВАНИЕ.

  • B2 – число, которое требуется преобразовать;
  • 2 – указатель вида системы счисления.

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

преобразование для всех чисел.

Ошибка #ЧИСЛО! Возникла потому, что -56 находится вне диапазона допустимых значений (отрицательное число). Результат вычисления формулы =ОСНОВАНИЕ(0,9;2) эквивалентен результату =ОСНОВАНИЕ(0;2), поскольку рассматриваемая функция усекает дробные значения аргумента число до целых значений.

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

Пример 2. Преобразовать числа, записанные в шестнадцатеричной системе счисления в двоичную систему с длиной полученной строки не менее 20 символов.

Таблица.

В Excel предусмотрена формула ШЕСТН.В.ДВ, однако она поддерживает значения из диапазона от FFFFFFFE00 до 1FF. Поэтому выполним промежуточное преобразование в десятичную систему и воспользуемся функцией ОСНОВАНИЕ для перевода в двоичную:

  • ШЕСТН.В.ДЕС(A2) – исходное число, преобразованное в десятичную систему счисления;
  • 2 – указание на вид системы счисления;
  • 20 – минимальное количество символов в возвращаемой строке.

Результаты преобразования.

Сложение чисел в разных системах счисления в Excel

Пример 3. Отобразить результаты сложения двух чисел, записанных в двоичной системе, в виде чисел в десяти- и тридцатидвухричных системах счисления.

Пример 3.

В ячейке A6 запишем следующую формулу:

ДВ.В.ДЕС.

Функция ДВ.В.ДЕС преобразует числа из двоичной в десятеричную систему.

В ячейке B6 запишем формулу:

В данном способе выполняется преобразование в понятную многим десятичную систему счисления, в которой и выполняется операция сложения чисел (вместо, например, алгоритма сложения в столбик в двоичной системе, где необходимо учитывать правила: 0+0=0, 1+1=10 и т. д.). Функцией ОСНОВАНИЕ выполняется преобразование результата в требуемые системы исчисления. Пример расчета:

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

Изучим стандартные способы перевода чисел в различные системы счисления в Excel: двоичную, восьмеричную, десятичную и шестнадцатеричную.

Помимо повсеместно распространенной и всем нам хорошо известной десятичной системы счисления также используются и системы с другими основаниями (отличными от 10), например, двоичная, троичная, восьмеричная и т.д.
Большинство из них имеют достаточно широкое применение практически во всех современных электронных устройствах, в программировании или компьютерной документации.

Системы счисления в Excel

В Excel есть возможность стандартными средствами переводить данные в четырех системах счисления:

Таблица систем счисления

Давайте подробно остановимся на основных вариантах преобразования данных.

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

Для преобразования данных в двоичную запись в Excel существует стандартная функция ДЕС.В.ДВ (имя функции получается как первые буквы от слов ДЕСятичное В ДВоичное, дополнительно разделенное точками):

ДЕС.В.ДВ(число; [разрядность])
Преобразует десятичное число в двоичное.

  • Число(обязательный аргумент) — десятичное целое число, которое требуется преобразовать;
  • Разрядность(необязательный аргумент) — количество знаков для использования в записи. Данный аргумент необходим если нужно приписать к двоичной записи данных ведущие нули. К примеру, число 1101 с разрядностью 7 будет иметь вид 0001101.

Обратите внимание, что Excel накладывает определенные ограничения на размер преобразуемых данных.
Двоичная запись не должна занимать более 10 знаков, поэтому десятичное число, соответственно, не должно быть больше 511 или меньше -512, иначе в качестве значения функция ДЕС.В.ДВ вернет ошибку.

Перевод из 10-й записи в 2-ую

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

Для осуществления обратного перевода можно воспользоваться функцией ДВ.В.ДЕС:

ДВ.В.ДЕС(число)
Преобразует двоичное число в десятичное.

  • Число(обязательный аргумент) — двоичное число, которое требуется преобразовать.

При этом разрядность в качестве аргумента функции для десятичной записи не используется.
Как и в случае с функцией ДЕС.В.ДВ при использовании ДВ.В.ДЕС существует ограничение на размер преобразуемых данных — не более 10 знаков в записи, в ином случае функция вернет значение ошибки.

Перевод из 2-й записи в 10-ую

Перевод в других системах счисления

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

Формулы перевода

Как и в примерах выше имена функций образуются по достаточно простому правилу — берутся первые буквы от названий систем в которых преобразуются данные и разделяются точками (ВОСЬМеричное В ШЕСТНадцатеричное и пр.)

Арифметические операции с данными

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

Сложение данных. Неправильный расчет

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

Как в Excel перевести десятичное число в двоичное?

excel dec2bin

Обратное действие – функция ДВ.В.ДЕС().

excel dec2bin

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

excel dec2bin

Но, тем не менее если все-таки хочется преобразовывать в двоичные числа большие 111111111, выход есть, нужно вспомнить о функции ОСТАТ(), или в англ. версии – MOD(). Функция возвращает остаток от деления аргумента «число» на значение аргумента «делитель». Т.е. ОСТАТ(512/512) = 0, ОСТАТ(513/512) = 1 и т.д.

  1. Находим двоичное число от дроби: исходное число, деленное на 512.
  2. Находим двоичное число от остатка, указываем количество разрядов – 9.
  3. Сцепляем их вместе, хотя бы амперсандом (&). Тут возможны варианты, но это самое простое.

=ДЕС.В.ДВ(A1/512)&ДЕС.В.ДВ(ОСТАТ(A1;512);9)

excel dec2bin

Если вам не нужен нолик перед числом (а он появляется, если делить число меньше 512, например 64), то можно обернуть выражение в проверочную функцию ЕСЛИ. Полный вид заклинания, позволяет превращать десятичные числа до 262143 (512^2) в двоичные:

=ЕСЛИ(A1<512;ДЕС.В.ДВ(A1);ДЕС.В.ДВ(A1/512)&ДЕС.В.ДВ(ОСТАТ(A1;512);9))

excel dec2bin

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *