Функция ОСНОВАНИЕ в Excel переводит число в систему счисления
Функция ОСНОВАНИЕ выполняет преобразование числового значение в указанную систему счисления (двоичная, восьмеричная, шестнадцатеричная и т. д.) и возвращает соответствующий результат в виде текстовой строки.
Примеры использования функции ОСНОВАНИЕ в 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».