Шестнадцатеричные значения в excel

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 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции ДЕС.В.ШЕСТН в Microsoft Excel.

Описание

Преобразует десятичное число в шестнадцатеричное.

Синтаксис

ДЕС.В.ШЕСТН(число;[разрядность])

Аргументы функции ДЕС.В.ШЕСТН описаны ниже.

  • Число    — обязательный аргумент. Преобразуемое десятичное число. Если оно отрицательное, то разрядность игнорируется и функция ДЕС.В.ШЕСТН возвращает 10-значное (40-битное) шестнадцатеричное число, в котором самый старший бит является знаковым битом. Остальные 39 бит являются битами значения. Отрицательные числа представляются в дополнительных кодах.

  • Разрядность    Необязательный. Количество знаков в записи числа. Если разрядность опущена, функция ДЕС.В.ШЕСТН использует минимально необходимое количество знаков. Разрядность используется, чтобы приписать возвращаемому значению ведущие нули.

Замечания

  • Если число < -549 755 813 888 или число > 549 755 813 887, то DEC2HEX возвращает #NUM! значение ошибки #ЗНАЧ!.

  • Если число не является числом, то DEC2HEX возвращает #VALUE! значение ошибки #ЗНАЧ!.

  • Если для результата DEC2HEX требуется больше количества знаков Знаков знаков Знаков после заданного числа знаков Знаков после заданного числа знаков, возвращается #NUM! значение ошибки #ЗНАЧ!.
    Например, DEC2HEX(64;1) возвращает значение ошибки, так как для результата (40) требуется два знака.

  • Если значение аргумента «разрядность» не является целым числом, оно усекается.

  • Если число не является числом, то DEC2HEX возвращает #VALUE! значение ошибки #ЗНАЧ!.

  • Если «количество» отрицательное, то DEC2HEX возвращает #NUM! значение ошибки #ЗНАЧ!.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=ДЕС.В.ШЕСТН(100;4)

Преобразует десятичное число 100 в шестнадцатеричное из 4 знаков (с «приписанными» двумя ведущими нулями).

0064

=ДЕС.В.ШЕСТН(-54)

Преобразует десятичное значение -54 в шестнадцатеричное

FFFFFFFFCA

=ДЕС.В.ШЕСТН(28)

Преобразует десятичное значение 28 в шестнадцатеричное.

1C

=ДЕС.В.ШЕСТН(64;1)

Возвращает #NUM! из-за того, что для результата (40) требуется 2 знака.

#ЧИСЛО!

Нужна дополнительная помощь?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

Поделиться с друзьями:
Поиск по сайту:


  • Excel 365


  • Excel 2021


  • Excel 2019


  • Excel 2016




  • February 12, 2022



  • No Comments

It’s unusual to need to work with Hexadecimal values in Excel, but on these rare occasions it can be challenging to figure out how Excel deals with values of this kind. If you simply enter a value like 0xABCDEF78 Excel will treat it as text and won’t recognize it as a numeric value.

What is Hexadecimal?

Hexadecimal (or Hex for short) is a counting system that uses 16 symbols as opposed to the 10 symbols used in the Decimal counting system that we use more often. Hexadecimal uses the letters A-F as well as the numbers 0-9.

Hexadecimal is most often used by computer systems, though it is also used in some advanced mathematical calculations outside of the world of computing.

Converting Hexadecimal values to Decimal in Excel

Excel won’t recognize a Hexadecimal value, but there is a function in its function library that will convert Hexadecimal values into Decimals: the HEX2DEC function.

For example: =HEX2DEC(“FF”) will return 255 – the decimal conversion of the Hexadecimal value FF.

If you’re unfamiliar with Excel functions and formulas you might benefit from our completely free Basic Skills E-book, which will introduce you to the basics of formulas and functions.

Dealing with 0x prefixes

Many programming languages prefix Hexadecimal values with 0x. For example 0xFF instead of just FF.

The HEX2DEC function won’t recognize a Hex value that has a 0x prefix so you will need to strip away the prefixes before you can convert the values.

There are a few different ways you could do this, including Flash Fill, Text To Columns and even Find & Replace, but a formula offers the most long-term solution because it will automatically recalculate. This formula will remove the 0x prefixes:

=RIGHT(A2,LEN(A2)-2)

All of the options mentioned above (as well as the RIGHT and LEN functions) are explained in depth in our Expert Skills Books and E-books.

A working example

You can download an example workbook showing the above functions and formulas in action.

Other counting systems supported by Excel

As well as the HEX2DEC function for Hex values, Excel also contains functions to convert values from Binary (Base 2) and Octal (Base 8) . These are supported by the BIN2DEC and OCT2DEC.

There are also functions to convert each of these counting systems to the other. For example you can convert an Octal value into a Hex value using the OCT2HEX function.

These are the only up-to-date Excel books currently published and includes the new Dynamic Arrays features.

They are also the only books that will teach you absolutely every Excel skill including Power Pivot, OLAP and DAX.

Some of the things you will learn

Share this article

Recent Articles

Leave a Reply

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

Примеры использования функции ОСНОВАНИЕ в 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

Функция имеет следующую синтаксическую запись:

=ОСНОВАНИЕ(число;основание;[минимальная_длина])

Описание аргументов:

  • число – обязательный аргумент, характеризующий числовое значение из диапазона целых чисел от 0 до 253, которое требуется преобразовать к указанной системе счисления.
  • основание – обязательный аргумент, характеризующий числовое значение из диапазона целых чисел от 2 до 36, которое является основанием требуемой системы исчисления.
  • [минимальная_длина] – необязательный аргумент, характеризующий числовое значение из диапазона от 0 до 255, определяющее минимальную длину в символах возвращаемой текстовой строки.

Примечания:

  1. Функция возвращает код ошибки #ЧИСЛО!, если любой из ее аргументов является числовым значением, выходящим за пределы допустимых для данного аргумента значений.
  2. Если один или несколько аргументов являются текстовой строкой, рассматриваемая функция вернет код ошибки #ЗНАЧ!.
  3. Функция доступна только в новых версиях программы (Excel 2013 и более поздних).
  4. В отличие, например, от функции ДЕС.В.ДВ, которая выполняет преобразование чисел из диапазона от -512 до 511, функция ОСНОВАНИЕ выполняет преобразование чисел от 0 до 253.
  5. При явном указании аргумента [минимальная_длина] возможны следующие ситуации:
  • длина полученного значения меньше, чем регламентируется аргументом [минимальная_длина]. В этом случае в начале возвращаемой строки слева будет добавлено определенное количество нулей для достижения требуемой длины;
  • длина рассчитанного значения больше, чем регламентируемая. Функция ОСНОВАНИЕ вернет полученный результат, не урезая его. Например, функция с аргументами (12345;2;20) вернет значение «00000011000000111001», а функция с аргументами (12345;2;2) вернет «11000000111001».

Содержание

  1. Функция ДВ.В.ШЕСТН
  2. Описание
  3. Синтаксис
  4. Замечания
  5. Пример
  6. Функция ВОСЬМ.В.ШЕСТН
  7. Описание
  8. Синтаксис
  9. Замечания
  10. Пример
  11. Перевод чисел в различные системы счисления в Excel
  12. Системы счисления в Excel
  13. Перевод числа из десятичной в двоичную систему в Excel
  14. Перевод числа из двоичной в десятичную систему в Excel
  15. Перевод в других системах счисления
  16. Арифметические операции с данными
  17. Функция ШЕСТН.В.ДВ
  18. Описание
  19. Синтаксис
  20. Замечания
  21. Пример
  22. Функция ОСНОВАНИЕ в Excel переводит число в систему счисления
  23. Примеры использования функции ОСНОВАНИЕ в Excel
  24. Перевод числа из одной системы счисления в другую в Excel
  25. Сложение чисел в разных системах счисления в Excel
  26. Особенности использования функции ОСНОВАНИЕ в Excel

Функция ДВ.В.ШЕСТН

В этой статье описаны синтаксис формулы и использование функции ДВ.В.ШЕСТН в Microsoft Excel.

Описание

Преобразует двоичное число в шестнадцатеричное.

Синтаксис

Аргументы функции ДВ.В.ШЕСТН описаны ниже.

Число — обязательный аргумент. Преобразуемое двоичное число. Число не должно содержать более 10 знаков (10 бит). Первый значащий бит числа является знаковым битом. Остальные 9 бит являются битами значения. Отрицательные числа представляются в дополнительных кодах.

Разрядность Необязательный. Количество знаков в записи числа. Если разрядность не указана, функция ДВ.В.ШЕСТН использует минимальное необходимое количество знаков. Разрядность используется для дополнения возвращаемого значения ведущими нулями.

Замечания

Если число не является допустимым двоичным числом или содержит более 10 знаков (10 бит), bin2HEX возвращает #NUM! значение ошибки #ЗНАЧ!.

Если число отрицательное, функция ДВ.В.ШЕСТН игнорирует разрядность и возвращает 10-разрядное шестнадцатеричное число.

Если для работы СДВ.В.ВЕХ требуется больше знаков, чем места, возвращается #NUM! значение ошибки #ЧИСЛО!.

Если значение аргумента «разрядность» не является целым числом, оно усекается.

Если число не является числом, то bin2HEX возвращает #VALUE! значение ошибки #ЗНАЧ!.

Если количество мест отрицательное, то bin2HEX возвращает #NUM! значение ошибки #ЗНАЧ!.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Преобразует двоичное число 11111011 в шестнадцатеричное с разрядностью 4

Преобразует двоичное число 1110 в шестнадцатеричное

Преобразует двоичное число 1111111111 в шестнадцатеричное

Источник

Функция ВОСЬМ.В.ШЕСТН

В этой статье описаны синтаксис формулы и использование ВОСЬМ.В.ВОСЬМ в Microsoft Excel.

Описание

Преобразует восьмеричное число в шестнадцатеричное.

Синтаксис

Аргументы функции ВОСЬМ.В.ШЕСТН описаны ниже.

Число Обязательный. Преобразуемое восьмеричное число. Число не должно содержать более 10 восьмеричных цифр (30 бит). Самый старший бит числа является знаковым битом. Остальные 29 являются битами значения. Отрицательные числа представляются в дополнительных кодах.

Разрядность Необязательный. Количество используемых разрядов. Если этот аргумент опущен, функция ВОСЬМ.В.ШЕСТН использует минимальное необходимое количество разрядов. Разрядность используется в том случае, если нужно приписать к возвращаемому значению ведущие нули.

Замечания

Если аргумент «число» имеет отрицательное значение, функция ВОСЬМ.В.ШЕСТН игнорирует разрядность и возвращает 10-разрядное шестнадцатеричное число.

Если число не является допустимым восьмым числом, oct2HEX возвращает #NUM! (значение ошибки).

Если для oct2HEX требуется больше знаков, чем знаков, возвращается #NUM! значение ошибки #ЧИСЛО!.

Если значение аргумента «разрядность» не является целым числом, оно усекается.

Если число не является числом, oct2HEX возвращает #VALUE! (значение ошибки).

Если число отрицательное, oct2HEX возвращает #NUM! (значение ошибки).

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.

Преобразует восьмеричное число 100 в шестнадцатеричное с разрядностью 4.

Преобразует восьмеричное число 7777777533 в шестнадцатеричное.

Источник

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

Источник

Функция ШЕСТН.В.ДВ

В этой статье описаны синтаксис формулы и использование функции ШЕСТН.В.ДВ в Microsoft Excel.

Описание

Преобразует шестнадцатеричное число в двоичное.

Синтаксис

Аргументы функции ШЕСТН.В.ДВ описаны ниже.

Число — обязательный аргумент. Преобразуемое шестнадцатеричное число. Число не может содержать более 10 разрядов. Самый старший бит числа является знаковым битом (40-й бит справа). Остальные 9 бит являются битами значения. Отрицательные числа представляются в дополнительных кодах.

Разрядность Необязательный. Количество знаков в записи числа. Если разрядность опущена, функция ШЕСТН.В.ДВ использует минимально необходимое количество знаков. Разрядность используется, чтобы приписать к возвращаемому значению ведущие нули.

Замечания

Если аргумент «число» имеет отрицательное значение, функция ШЕСТН.В.ДВ игнорирует разрядность и возвращает 10-разрядное двоичное число.

Если аргумент «число» имеет отрицательное значение, оно не может быть меньше, чем FFFFFFFE00, а если он имеет положительное значение, оно не может быть больше, чем 1FF.

Если число не является допустимым hexadecimal числом, то heX2BIN возвращает #NUM! значение ошибки #ЗНАЧ!.

Если для heX2BIN требуется больше знаков, чем места, возвращается #NUM! значение ошибки #ЧИСЛО!.

Если значение аргумента «разрядность» не является целым числом, производится усечение.

Если число не является числом, то heX2BIN возвращает #VALUE! значение ошибки #ЗНАЧ!.

Если количество мест отрицательное, то heX2BIN возвращает #NUM! значение ошибки #ЗНАЧ!.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Преобразует шестнадцатеричное число F в двоичное с разрядностью 8 (4 нуля «приписываются» в начале).

Преобразует шестнадцатеричное число B7 в двоичное.

Преобразует шестнадцатеричное число FFFFFFFFFF в двоичное.

Источник

Функция ОСНОВАНИЕ в 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, определяющее минимальную длину в символах возвращаемой текстовой строки.
  1. Функция возвращает код ошибки #ЧИСЛО!, если любой из ее аргументов является числовым значением, выходящим за пределы допустимых для данного аргумента значений.
  2. Если один или несколько аргументов являются текстовой строкой, рассматриваемая функция вернет код ошибки #ЗНАЧ!.
  3. Функция доступна только в новых версиях программы (Excel 2013 и более поздних).
  4. В отличие, например, от функции ДЕС.В.ДВ, которая выполняет преобразование чисел из диапазона от -512 до 511, функция ОСНОВАНИЕ выполняет преобразование чисел от 0 до 2 53 .
  5. При явном указании аргумента [минимальная_длина] возможны следующие ситуации:
  • длина полученного значения меньше, чем регламентируется аргументом [минимальная_длина]. В этом случае в начале возвращаемой строки слева будет добавлено определенное количество нулей для достижения требуемой длины;
  • длина рассчитанного значения больше, чем регламентируемая. Функция ОСНОВАНИЕ вернет полученный результат, не урезая его. Например, функция с аргументами (12345;2;20) вернет значение «00000011000000111001», а функция с аргументами (12345;2;2) вернет «11000000111001».

Источник

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

Доброго всем дня!
Подскажите, как перевести текст в ячейке в шестнадцатиричный формат, а потом то что получилось обратно в систему символов ASCII ?
Нашел похожую тему

https://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=33314

, но ничего не понял…комментариев мало

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

del

Изменено: buchlotnik21.08.2021 23:18:19

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

При переносе формулы в другую книгу пишет #ИМЯ?  естественно ввод делал через массив (Ctrl+Shift+Enter)

 

andylu

Пользователь

Сообщений: 274
Регистрация: 29.03.2018

#4

23.07.2021 10:37:02

Цитата
Mike написал:
в другую книгу

на всякий случай уточню — у вас эксель 365?
вариант выше на нем, и не совместим с другими версиями…

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

del

Изменено: buchlotnik21.08.2021 23:18:06

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#6

23.07.2021 11:28:02

Цитата
andylu написал:

Цитата
Mike написал:
в другую книгу

на всякий случай уточню — у вас эксель 365?
вариант выше на нем, и не совместим с другими версиями…

У меня 2016

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#7

23.07.2021 11:31:13

Цитата
buchlotnik написал:

Цитата
ну несовместимость 365 лечится легко
Код
 =СЦЕП(ДЕС.В.ШЕСТН(КОДСИМВ(ПСТР(A2;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)));1));2))   

   

Код
 =СЦЕП(СИМВОЛ(ШЕСТН.В.ДЕС(ПСТР(B3;1+2*(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))-1);2))))   

  а вот альтернативу СЦЕП() без бубнов найти трудно — если экселька старше 2019, думаю придется UDF писать

не прокатывает

Изменено: Mike23.07.2021 11:32:11

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

#8

23.07.2021 11:43:19

Цитата
Mike написал:
не прокатывает

и в чём сюрприз?

Цитата
buchlotnik написал:
если экселька старше 2019, думаю придется UDF писать

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#9

23.07.2021 11:55:02

Цитата
buchlotnik написал:

Цитата
Mike написал:
не прокатывает

и в чём сюрприз?

почему-то также пишет  #ИМЯ?

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

#10

23.07.2021 12:00:08

Цитата
Mike написал:
почему-то
Цитата
buchlotnik написал:
СЦЕП() — начиная с 2019

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#11

23.07.2021 12:13:41

Цитата
Цитата
buchlotnik написал:
СЦЕП() — начиная с 2019

СЦЕП() — это СЦЕПИТЬ() ? если так, то ошибка пропала, но «перевод» осуществляет только первого символа (в ячейке получается «С8»)

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

нет, СЦЕП() — это СЦЕП(), функция из 2019 версии
СЦЕПИТЬ() — это старая функция и она как раз не понимает массивы, берет только первое

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

andylu

Пользователь

Сообщений: 274
Регистрация: 29.03.2018

/dell pls, пока писал вышел аналог ответа 12 выше

Изменено: andylu23.07.2021 12:27:02

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

del

Изменено: buchlotnik21.08.2021 23:17:39

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#16

24.07.2021 12:35:05

Mike, приведите в порядок свои сообщения. Цитата — это не то, что Вы думаете и делаете.  Вы бездумно копируете.

Собсбвенно задача преобразовать из текстовой строки, описывающей число в 16тиричной кодировке (2-12) разрядов получить десятичное число для выполнения матопераций, а затем результат опять перегнать в 16тиричное представление и текстовый формат. Что-то весь хелп облазил — не нашел, только десятичное похоже представление обрабатывается. Может какие-то готовые макросы/плагины… есть ?

 

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

 

Перевод туда и обратно: Формула =ДЕС.В.ШЕСТН(ШЕСТН.В.ДЕС(D33) * ШЕСТН.В.ДЕС(A33))?

 

Напимер, тупо вот такая функция:

Function hex2dec(hhh)
Dim d As Double, n As Integer

d = 0
hhh = trim(hhh) ‘удаляет пробелы с обеих сторон
For n = Len(hhh) To 1 Step -1
d = d + (Val(«&h» & Mid$(hhh, n, 1)) * (16 ^ (Len(hhh) — n)))
Next

hex2dec = d
End Function

На входе строка hhh, изображающая шестнадцатерическое число (например, ffffffffffff ), на выходе результат (в данном случае выдаст 2,81475E+14)

Только ужо Вам самому придется следить, чтобы на вход не попали некорректные данные. Например, «qwerty» будет переведено как 57344, то есть, воспринято как шестнадцатеричное 00e000

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

 

Wladimir_TS: Что-то весь хелп облазил — не нашел, только десятичное похоже представление обрабатывается
Мастак абсолютно прав: есть встроенные функции, они указаны в хелпе (ищутся по ключевому слову).

Функция ШЕСТН.В.ДЕС
Преобразует шестнадцатеричное число в десятичное.
Синтаксис
ШЕСТН.В.ДЕС(число)
Число — преобразуемое шестнадцатеричное число. Число не может содержать более 10 разрядов (40 бит). Самый старший бит числа является знаковым битом. Остальные 39 бит являются битами значения. Отрицательные числа записываются в дополнительных кодах.

 

kav: kav
Функция ШЕСТН.В.ДЕС
Преобразует шестнадцатеричное число в десятичное.

Хоть оно мне и не надо, попробовал. Результат — в хелпе есть, а когда скопипастил, как советует хелп, в ячейку, ругается : #ИМЯ. И в списке поддерживаемых функций нет.
Excel2003.
Хорошо, что оно мне не надо

 

а опознать буковку и в отдельной табличке «справочник» сделать, сравнить с табличкой и вернуть в десятичной, провести мат операцию, сравнить с табличкой и вернуть 16ичное?

 

Bul_d_Ozer: в списке поддерживаемых функций нет.

Установить из дистрибутива.

 

Mastak: Установить из дистрибутива.
Да ну его… Ексель использую только для ведения «булгахтерии». Для серьезных вещей Дельфи удобнее.

 

Mastak: Mastak ◊
30 марта, 13:30
Bul_d_Ozer: в списке поддерживаемых функций нет.

Установить из дистрибутива.

И где оно там ? Или это какое-то дополнение.

Bul_d_Ozer: Bul_d_Ozer ◊
31 марта, 00:07
Mastak: Установить из дистрибутива.
Да ну его… Ексель использую только для ведения «булгахтерии». Для серьезных вещей Дельфи удобнее.

Дюже сложно увы.

 

Перейти к содержимому

Системы исчисления в программе «Эксель».

В мире существует множество различных способов записи чисел и систем исчисления. В текущем столетии самыми популярными являются системы исчисления:
Двоичная;
• Восьмеричная;
• Десятеричная;
• Шестнадцатеричная.
Перевод между системами исчисленияПрограмма «Excel» предусматривает возможность обработки информации в этих системах.
Для удобства перевода чисел из различных систем в привычную большинству пользователей десятеричную систему, а так же перевода чисел между восьмеричной, двоичной, шестнадцатеричной системами существует целый ряд функций. Эти функции позволяют произвести перевод чисел из одной системы в другую.

Рассмотрим эти функции:

ДЕС.В.ДВ( ) – переводит десятичные числа в двоичные;
ДЕС.В.ВОСЬМ( ) – переводит десятичные числа в восьмеричные;
ДЕС.В.ШЕСТН( ) – переводит десятичные числа в шестнадцатеричные;
ВОСЬМ.В.ДВ() – переводит восьмеричные в двоичные;
ВОСЬМ.В.ДЕС() – переводит восьмеричные десятичные;
ВОСЬМ.В.ШЕСТН() – переводит восьмеричные в шестнадцатеричные;
ШЕСТН.В.ВОСЬМ() – переводит шестнадцатеричные в восьмеричные;
ШЕСТН.В.ДВ() – переводит шестнадцатеричные в двоичные;
ШЕСТН.В.ДЕС() – переводит шестнадцатеричные в десятичные;
ДВ.В.ВОСЬМ() – переводит двоичные в восьмеричные;
ДВ.В.ДЕС() – переводит двоичные в десятичные;
ДВ.В. ШЕСТН() – переводит двоичные в шестнадцатеричные.

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

• Установить курсор в ячейку, которой будет присвоено значение;
• Выбрать необходимую функцию при помощи мастера функций в зависимости от того в какую систему исчисления вы хотите перевести число;
• В появившемся окне указать ячейку с переводимым числом или прописать само число;
• Указать количество разрядов – количество знаков в написании числа при необходимости (для функций перевода в десятичную систему количество разрядов не указывается).
• Нажать «Enter» или «Ok».

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

Преобразование десятичного числа (decimal) в его шестнадцатеричное представление (hexadecimal) с помощью функции Hex в VBA Excel. Примеры.

Hex – это функция, которая возвращает шестнадцатеричное представление заданного десятичного числа. Тип возвращаемого значения – String.

Синтаксис

Number – строковое или числовое выражение, возвращающее число в диапазоне от -2 147 483 648 до 2 147 483 647 (соответствует типу данных Long).

Примечания

  • Функция Hex возвращает шестнадцатеричные значения до 8 знаков.
  • Дробные значения параметра Number округляются до целых.
  • Обратное преобразование шестнадцатеричных чисел в десятичные осуществляется с помощью префикса &H.

Примеры

Пример 1
Варианты преобразования десятичных чисел, возвращенных числовыми и строчными выражениями:

Sub Primer()

    Cells(1, 1) = Hex(4568799 + 45687 * 2) ‘Результат: 471BCD

    Cells(2, 1) = Hex(«35124» & «4581») ‘Результат: 14EF9125

    Cells(3, 1) = Hex(CDate(«21.04.2021»)) ‘Результат: AD13

End Sub

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

Function DecHex(myDec As Long) As String

    DecHex = Right(«00000000» & Hex(myDec), 8)

End Function

Пример 3
Пользовательская функция, преобразующая шестнадцатеричное число в десятичное с помощью префикса &H:

Function HexDec(myHex As String) As Long

    HexDec = «&H» & myHex

End Function

Результат работы функций DecHex и HexDec:

Функция DecHex вставлена в ячейки второго столбца, а HexDec – в ячейки третьего.
Пример 4
Пользовательская функция, преобразующая указанные значения насыщенности красного, зеленого и синего цветов в шестнадцатеричный HTML-код цвета:

Function HexColor(red As Byte, green As Byte, blue As Byte) As String

    HexColor = «#» & Right(«00» & Hex(red), 2) & Right(«00» & Hex(green), 2) & Right(«00» & Hex(blue), 2)

End Function

Результат работы функции HexColor:

Функция HexColor вставлена в ячейки четвертого столбца.


Понравилась статья? Поделить с друзьями:
  • Шекспир на английском word
  • Шейн сериал l word
  • Шейн в сериале l word
  • Шейко программа тренировок по жиму лежа в excel скачать
  • Шейко жим лежа для любителей пахать excel