Изучим стандартные способы перевода чисел в различные системы счисления в Excel: двоичную, восьмеричную, десятичную и шестнадцатеричную.
Помимо повсеместно распространенной и всем нам хорошо известной десятичной системы счисления также используются и системы с другими основаниями (отличными от 10), например, двоичная, троичная, восьмеричная и т.д.
Большинство из них имеют достаточно широкое применение практически во всех современных электронных устройствах, в программировании или компьютерной документации.
В Excel есть возможность стандартными средствами переводить данные в четырех системах счисления:
Давайте подробно остановимся на основных вариантах преобразования данных.
Перевод числа из десятичной в двоичную систему в Excel
Для преобразования данных в двоичную запись в Excel существует стандартная функция ДЕС.В.ДВ (имя функции получается как первые буквы от слов ДЕСятичное В ДВоичное, дополнительно разделенное точками):
ДЕС.В.ДВ(число; [разрядность])
Преобразует десятичное число в двоичное.
- Число (обязательный аргумент) — десятичное целое число, которое требуется преобразовать;
- Разрядность (необязательный аргумент) — количество знаков для использования в записи.
Данный аргумент необходим если нужно приписать к двоичной записи данных ведущие нули. К примеру, число 1101 с разрядностью 7 будет иметь вид 0001101.
Обратите внимание, что Excel накладывает определенные ограничения на размер преобразуемых данных.
Двоичная запись не должна занимать более 10 знаков, поэтому десятичное число, соответственно, не должно быть больше 511 или меньше -512, иначе в качестве значения функция ДЕС.В.ДВ вернет ошибку.
Перевод числа из двоичной в десятичную систему в Excel
Для осуществления обратного перевода можно воспользоваться функцией ДВ.В.ДЕС:
ДВ.В.ДЕС(число)
Преобразует двоичное число в десятичное.
- Число (обязательный аргумент) — двоичное число, которое требуется преобразовать.
При этом разрядность в качестве аргумента функции для десятичной записи не используется.
Как и в случае с функцией ДЕС.В.ДВ при использовании ДВ.В.ДЕС существует ограничение на размер преобразуемых данных — не более 10 знаков в записи, в ином случае функция вернет значение ошибки.
Перевод в других системах счисления
Для других систем счисления (восьмеричной, шестнадцатеричной) также определен набор стандартных формул.
Для удобства мы составили таблицу со схемой выбора формулы для преобразования данных (в левом столбце указано откуда переводим данные, в верхней строчке — куда переводим):
Как и в примерах выше имена функций образуются по достаточно простому правилу — берутся первые буквы от названий систем в которых преобразуются данные и разделяются точками (ВОСЬМеричное В ШЕСТНадцатеричное и пр.)
Арифметические операции с данными
Операции в Excel осуществляются в десятичной системе счисления, поэтому при применении арифметических действий (сложение, вычитание и т.д.) для преобразованных данных учитывайте, что конечный результат также будет записан в десятичной записи:
Чтобы избежать подобной проблемы, необходимо сначала перевести все данные в десятичный вид, произвести требуемые вычисления, а уже затем вновь преобразовать полученный результат в исходную систему счисления:
Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!
Поделиться с друзьями:
Поиск по сайту:
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel 2010 Excel 2007 Excel для Mac 2011 Excel для телефонов с Android Еще…Меньше
Система чисел является систематическим способом представления чисел символьными символами и использует базовое значение для удобной группировки чисел в сжатой форме. Самая распространенная система числов — десятичная, которая имеет базовое значение 10, и набор символов 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Однако существуют и другие числовые системы, которые могут быть более эффективными для определенной цели. Например, так как на компьютерах используется логическое значение для вычислений и операций, для выполнения вычислений и операций используется двоичная числовая система, которая имеет базовое значение 2.
Microsoft Office Excel есть несколько функций, которые можно использовать для преобразования чисел в числовые системы и из них:
Система номеров |
Базовое значение |
Набор символьных знаков |
Двоичный |
2 |
0,1 |
Восьмеричном |
8 |
0, 1, 2, 3, 4, 5, 6, 7 |
Действительное. |
10 |
0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 |
Шестнадцатеричный |
16 |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
Для этого используйте функцию ДВ.В.Е.
|
|
Для этого используйте функцию ДВ.В.EX.
|
|
Для этого используйте функцию ДВ.В.ВЕХ.
|
|
Для этого используйте функцию DEC2BIN.
|
|
Для этого используйте функцию DEC2HEX.
|
|
Для этого используйте функцию DEC2OCT.
|
|
Для этого используйте функцию HEX2BIN.
|
|
Для этого используйте функцию HEX2DEC.
|
|
Для этого используйте функцию HEX2OCT.
|
|
Для этого используйте функцию ВОСЬМ.В.ДВ.
|
|
Для этого используйте функцию ВОСЬМ.В.Е.
|
|
Для этого используйте функцию ВОСЬМ.В.EX.
|
|
Нужна дополнительная помощь?
Функция ОСНОВАНИЕ выполняет преобразование числового значение в указанную систему счисления (двоичная, восьмеричная, шестнадцатеричная и т. д.) и возвращает соответствующий результат в виде текстовой строки.
Примеры использования функции ОСНОВАНИЕ в Excel
Пример 1. Для хранения чисел в БД удобно использовать их представление в двоичной системе счисления. Выполнить преобразование представленных значений.
Исходная таблица:
Для преобразования используем формулу:
Описание аргументов:
- B2 – число, которое требуется преобразовать;
- 2 – указатель вида системы счисления.
Выполним преобразование для всех чисел. Полученный результат:
Ошибка #ЧИСЛО! Возникла потому, что -56 находится вне диапазона допустимых значений (отрицательное число). Результат вычисления формулы =ОСНОВАНИЕ(0,9;2) эквивалентен результату =ОСНОВАНИЕ(0;2), поскольку рассматриваемая функция усекает дробные значения аргумента число до целых значений.
Перевод числа из одной системы счисления в другую в Excel
Пример 2. Преобразовать числа, записанные в шестнадцатеричной системе счисления в двоичную систему с длиной полученной строки не менее 20 символов.
Таблица значений:
В Excel предусмотрена формула ШЕСТН.В.ДВ, однако она поддерживает значения из диапазона от FFFFFFFE00 до 1FF. Поэтому выполним промежуточное преобразование в десятичную систему и воспользуемся функцией ОСНОВАНИЕ для перевода в двоичную:
Описание аргументов:
- ШЕСТН.В.ДЕС(A2) – исходное число, преобразованное в десятичную систему счисления;
- 2 – указание на вид системы счисления;
- 20 – минимальное количество символов в возвращаемой строке.
Результаты расчетов:
Сложение чисел в разных системах счисления в Excel
Пример 3. Отобразить результаты сложения двух чисел, записанных в двоичной системе, в виде чисел в десяти- и тридцатидвухричных системах счисления.
Исходная таблица:
В ячейке A6 запишем следующую формулу:
Функция ДВ.В.ДЕС преобразует числа из двоичной в десятеричную систему.
В ячейке B6 запишем формулу:
В данном способе выполняется преобразование в понятную многим десятичную систему счисления, в которой и выполняется операция сложения чисел (вместо, например, алгоритма сложения в столбик в двоичной системе, где необходимо учитывать правила: 0+0=0, 1+1=10 и т. д.). Функцией ОСНОВАНИЕ выполняется преобразование результата в требуемые системы исчисления. Пример расчета:
Особенности использования функции ОСНОВАНИЕ в Excel
Функция имеет следующую синтаксическую запись:
=ОСНОВАНИЕ(число;основание;[минимальная_длина])
Описание аргументов:
- число – обязательный аргумент, характеризующий числовое значение из диапазона целых чисел от 0 до 253, которое требуется преобразовать к указанной системе счисления.
- основание – обязательный аргумент, характеризующий числовое значение из диапазона целых чисел от 2 до 36, которое является основанием требуемой системы исчисления.
- [минимальная_длина] – необязательный аргумент, характеризующий числовое значение из диапазона от 0 до 255, определяющее минимальную длину в символах возвращаемой текстовой строки.
Примечания:
- Функция возвращает код ошибки #ЧИСЛО!, если любой из ее аргументов является числовым значением, выходящим за пределы допустимых для данного аргумента значений.
- Если один или несколько аргументов являются текстовой строкой, рассматриваемая функция вернет код ошибки #ЗНАЧ!.
- Функция доступна только в новых версиях программы (Excel 2013 и более поздних).
- В отличие, например, от функции ДЕС.В.ДВ, которая выполняет преобразование чисел из диапазона от -512 до 511, функция ОСНОВАНИЕ выполняет преобразование чисел от 0 до 253.
- При явном указании аргумента [минимальная_длина] возможны следующие ситуации:
- длина полученного значения меньше, чем регламентируется аргументом [минимальная_длина]. В этом случае в начале возвращаемой строки слева будет добавлено определенное количество нулей для достижения требуемой длины;
- длина рассчитанного значения больше, чем регламентируемая. Функция ОСНОВАНИЕ вернет полученный результат, не урезая его. Например, функция с аргументами (12345;2;20) вернет значение «00000011000000111001», а функция с аргументами (12345;2;2) вернет «11000000111001».
Перейти к содержимому
Системы исчисления в программе «Эксель».
В мире существует множество различных способов записи чисел и систем исчисления. В текущем столетии самыми популярными являются системы исчисления:
• Двоичная;
• Восьмеричная;
• Десятеричная;
• Шестнадцатеричная.
Программа «Excel» предусматривает возможность обработки информации в этих системах.
Для удобства перевода чисел из различных систем в привычную большинству пользователей десятеричную систему, а так же перевода чисел между восьмеричной, двоичной, шестнадцатеричной системами существует целый ряд функций. Эти функции позволяют произвести перевод чисел из одной системы в другую.
Рассмотрим эти функции:
• ДЕС.В.ДВ( ) – переводит десятичные числа в двоичные;
• ДЕС.В.ВОСЬМ( ) – переводит десятичные числа в восьмеричные;
• ДЕС.В.ШЕСТН( ) – переводит десятичные числа в шестнадцатеричные;
• ВОСЬМ.В.ДВ() – переводит восьмеричные в двоичные;
• ВОСЬМ.В.ДЕС() – переводит восьмеричные десятичные;
• ВОСЬМ.В.ШЕСТН() – переводит восьмеричные в шестнадцатеричные;
• ШЕСТН.В.ВОСЬМ() – переводит шестнадцатеричные в восьмеричные;
• ШЕСТН.В.ДВ() – переводит шестнадцатеричные в двоичные;
• ШЕСТН.В.ДЕС() – переводит шестнадцатеричные в десятичные;
• ДВ.В.ВОСЬМ() – переводит двоичные в восьмеричные;
• ДВ.В.ДЕС() – переводит двоичные в десятичные;
• ДВ.В. ШЕСТН() – переводит двоичные в шестнадцатеричные.
Пример использования:
• Установить курсор в ячейку, которой будет присвоено значение;
• Выбрать необходимую функцию при помощи мастера функций в зависимости от того в какую систему исчисления вы хотите перевести число;
• В появившемся окне указать ячейку с переводимым числом или прописать само число;
• Указать количество разрядов – количество знаков в написании числа при необходимости (для функций перевода в десятичную систему количество разрядов не указывается).
• Нажать «Enter» или «Ok».
Скачать таблицу перевода чисел между двоичной, восьмеричной, десятеричной и шестнадцатеричной системами исчисления.
Перейти к содержимому
Функция ДЕС.В.ДВ() преобразует десятичное число в двоичное (в англ. версии DEC2BIN) Аналогичные этому, есть преобразователи в восьмиричное, шестнадцатиричное число: ДЕС.В.ВОСЬМ() и ДЕС.В.ШЕСТ()
Обратное действие – функция ДВ.В.ДЕС().
Количество символов двоичного числа ограничена 9 разрядами, т.е. таким образом excel может преобразовать в двоичное число не больше 511, даже попытка искусственно увеличить разрядность не помогает:
Но, тем не менее если все-таки хочется преобразовывать в двоичные числа большие 111111111, выход есть, нужно вспомнить о функции ОСТАТ(), или в англ. версии – MOD(). Функция возвращает остаток от деления аргумента «число» на значение аргумента «делитель». Т.е. ОСТАТ(512/512) = 0, ОСТАТ(513/512) = 1 и т.д.
Решение:
- Находим двоичное число от дроби: исходное число, деленное на 512.
- Находим двоичное число от остатка, указываем количество разрядов – 9.
- Сцепляем их вместе, хотя бы амперсандом (&). Тут возможны варианты, но это самое простое.
=ДЕС.В.ДВ(A1/512)&ДЕС.В.ДВ(ОСТАТ(A1;512);9)
Если вам не нужен нолик перед числом (а он появляется, если делить число меньше 512, например 64), то можно обернуть выражение в проверочную функцию ЕСЛИ. Полный вид заклинания, позволяет превращать десятичные числа до 262143 (512^2) в двоичные:
=ЕСЛИ(A1<512;ДЕС.В.ДВ(A1);ДЕС.В.ДВ(A1/512)&ДЕС.В.ДВ(ОСТАТ(A1;512);9))