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, иначе в качестве значения функция ДЕС.В.ДВ вернет ошибку.
Перевод числа из двоичной в десятичную систему в Excel
Для осуществления обратного перевода можно воспользоваться функцией ДВ.В.ДЕС:
ДВ.В.ДЕС(число)
Преобразует двоичное число в десятичное.
- Число (обязательный аргумент) — двоичное число, которое требуется преобразовать.
При этом разрядность в качестве аргумента функции для десятичной записи не используется.
Как и в случае с функцией ДЕС.В.ДВ при использовании ДВ.В.ДЕС существует ограничение на размер преобразуемых данных — не более 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 . 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. Для хранения чисел в БД удобно использовать их представление в двоичной системе счисления. Выполнить преобразование представленных значений.
Исходная таблица:
Для преобразования используем формулу:
Описание аргументов:
- 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
- Системы счисления в Excel
- Перевод числа из десятичной в двоичную систему в Excel
- Перевод числа из двоичной в десятичную систему в Excel
- Перевод в других системах счисления
- Арифметические операции с данными
- Функция ШЕСТН.В.ДВ
- Описание
- Синтаксис
- Замечания
- Пример
- Функция ОСНОВАНИЕ в Excel переводит число в систему счисления
- Примеры использования функции ОСНОВАНИЕ в Excel
- Перевод числа из одной системы счисления в другую в Excel
- Сложение чисел в разных системах счисления в Excel
- Особенности использования функции ОСНОВАНИЕ в 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, определяющее минимальную длину в символах возвращаемой текстовой строки.
- Функция возвращает код ошибки #ЧИСЛО!, если любой из ее аргументов является числовым значением, выходящим за пределы допустимых для данного аргумента значений.
- Если один или несколько аргументов являются текстовой строкой, рассматриваемая функция вернет код ошибки #ЗНАЧ!.
- Функция доступна только в новых версиях программы (Excel 2013 и более поздних).
- В отличие, например, от функции ДЕС.В.ДВ, которая выполняет преобразование чисел из диапазона от -512 до 511, функция ОСНОВАНИЕ выполняет преобразование чисел от 0 до 2 53 .
- При явном указании аргумента [минимальная_длина] возможны следующие ситуации:
- длина полученного значения меньше, чем регламентируется аргументом [минимальная_длина]. В этом случае в начале возвращаемой строки слева будет добавлено определенное количество нулей для достижения требуемой длины;
- длина рассчитанного значения больше, чем регламентируемая. Функция ОСНОВАНИЕ вернет полученный результат, не урезая его. Например, функция с аргументами (12345;2;20) вернет значение «00000011000000111001», а функция с аргументами (12345;2;2) вернет «11000000111001».
Источник
Mike Пользователь Сообщений: 521 |
Доброго всем дня! https://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=33314 , но ничего не понял…комментариев мало |
buchlotnik Пользователь Сообщений: 3863 Excel 365 Бета-канал |
del Изменено: buchlotnik — 21.08.2021 23:18:19 Соблюдение правил форума не освобождает от модераторского произвола |
Mike Пользователь Сообщений: 521 |
При переносе формулы в другую книгу пишет #ИМЯ? естественно ввод делал через массив (Ctrl+Shift+Enter) |
andylu Пользователь Сообщений: 274 |
#4 23.07.2021 10:37:02
на всякий случай уточню — у вас эксель 365? |
||
buchlotnik Пользователь Сообщений: 3863 Excel 365 Бета-канал |
del Изменено: buchlotnik — 21.08.2021 23:18:06 Соблюдение правил форума не освобождает от модераторского произвола |
Mike Пользователь Сообщений: 521 |
#6 23.07.2021 11:28:02
У меня 2016 |
||||
Mike Пользователь Сообщений: 521 |
#7 23.07.2021 11:31:13
не прокатывает Изменено: Mike — 23.07.2021 11:32:11 |
||||||||
buchlotnik Пользователь Сообщений: 3863 Excel 365 Бета-канал |
#8 23.07.2021 11:43:19
и в чём сюрприз?
Соблюдение правил форума не освобождает от модераторского произвола |
||||
Mike Пользователь Сообщений: 521 |
#9 23.07.2021 11:55:02
почему-то также пишет #ИМЯ? |
||||
buchlotnik Пользователь Сообщений: 3863 Excel 365 Бета-канал |
#10 23.07.2021 12:00:08
Соблюдение правил форума не освобождает от модераторского произвола |
||||
Mike Пользователь Сообщений: 521 |
#11 23.07.2021 12:13:41
СЦЕП() — это СЦЕПИТЬ() ? если так, то ошибка пропала, но «перевод» осуществляет только первого символа (в ячейке получается «С8») |
||||
buchlotnik Пользователь Сообщений: 3863 Excel 365 Бета-канал |
нет, СЦЕП() — это СЦЕП(), функция из 2019 версии Соблюдение правил форума не освобождает от модераторского произвола |
andylu Пользователь Сообщений: 274 |
/dell pls, пока писал вышел аналог ответа 12 выше Изменено: andylu — 23.07.2021 12:27:02 |
buchlotnik Пользователь Сообщений: 3863 Excel 365 Бета-канал |
del Изменено: buchlotnik — 21.08.2021 23:17:39 Соблюдение правил форума не освобождает от модераторского произвола |
Mike Пользователь Сообщений: 521 |
|
vikttur Пользователь Сообщений: 47199 |
#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 вставлена в ячейки четвертого столбца.