Как упоминалось ранее, формула =DEC2HEX(A1) конвертируется в гекс, а DEC2HEX(A1,8) - в гекс с префиксом 0 для обозначения 32 бит. В то время как добавление ведущего 0 делает числа более читабельными, особенно если вы используете шрифт с фиксированной точкой, шестнадцатеричная и десятичная версии могут смешиваться, когда все цифры в числе случайно окажутся 0-9 (например, 327701=50015).
Улучшением является добавление префикса “0x”. Есть 2 способа сделать это. =“0x”&DEC2HEX(A1,8) выполнит трюк, но это изменит поле на текстовое, так что его больше нельзя будет легко использовать в формулах. Другой метод - использование пользовательского формата. Если применить к ячейке пользовательский формат “0x”@, то значение ячейки все равно можно использовать в уравнении. Примеры:
╔═══╦════════════════╦════════════╦═════════════════════════════╦═══════════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬════════════════╬════════════╬═════════════════════════════╬═══════════════╣ ║ 1 ║ ║ Value ║ Corresponding Formula ║ Number Format ║ ║ 2 ║ Decimal ║ 11162790 ║ 11162790 ║ General ║ ║ 3 ║ Hex ║ AA54A6 ║ =DEC2HEX(B2) ║ General ║ ║ 4 ║ leading 0's ║ 00AA54A6 ║ =DEC2HEX(B2,8) ║ General ║ ║ 5 ║ Text 0x prefix ║ 0x00AA54A6 ║ =DEC2HEX(B2,8) ║ "0x"@ ║ ║ 6 ║ Text 0x prefix ║ 0x00AA54A6 ║ ="0x" & DEC2HEX(B2,8) ║ General ║ ║ 7 ║ Use B5 ║ AA54A600 ║ =DEC2HEX(HEX2DEC(B5) \* 256) ║ General ║ ║ 8 ║ Use B5 ║ 0xAA54A600 ║ =DEC2HEX(HEX2DEC(B5) \* 256) ║ "0x"@ ║ ║ 9 ║ Try to use B6 ║ #NUM! ║ =DEC2HEX(HEX2DEC(B6) \* 256) ║ General ║ ╚═══╩════════════════╩════════════╩═════════════════════════════╩═══════════════╝
Однако, большие числа с разными цифрами все равно могут быть трудночитаемыми, поэтому я люблю ставить запятые в десятичные числа, а “_” в шестнадцатеричные. Сначала нужно получить верхний и нижний 16 бит числа. Верхние 16 бит 32-битного числа можно получить с помощью = INT( A1 / 2^16 ). Разделение на 2^16 действует как сдвиг вправо на 16 бит, а INT удаляет дробный остаток. MOD можно использовать для получения младших 16 бит любого 32- или 64-битного числа; =MOD(A1, 2^16). MOD эффективно получает обратно остаток, то есть нижние 16 бит. Вот таблица, которая показывает это в действии.
╔═══╦═════════════╦═══════════════╦════════════════════════════════════╦═════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬═════════════╬═══════════════╬════════════════════════════════════╬═════════╣ ║ 1 ║ ║ Value ║ Corresponding Formula ║ Format ║ ║ 2 ║ Decimal ║ 3,098,743,209 ║ 3098743209 ║ #,##0 ║ ║ 3 ║ Upper Bytes ║ B8B3 ║ =DEC2HEX(INT( B2/2^16 ), 4) ║ General ║ ║ 4 ║ Lower Bytes ║ 11A9 ║ =DEC2HEX(MOD( B2, 2^16 )) ║ General ║ ║ 5 ║ Full Number ║ 0xB8B3\_11A9 ║ ="0x" & DEC2HEX(INT( B2/2^16 ), 4) ║ General ║ ║ ║ ║ ║ & "\_" & DEC2HEX(MOD(B2, 2^16), 4) ║ ║ ╚═══╩═════════════╩═══════════════╩════════════════════════════════════╩═════════╝
BTW, я должен сказать большое спасибо https://ozh.github.io/ascii-tables/ . Я использовал эту ссылку для создания ASCII текстовых таблиц. Я просто скопировал таблицу из моей таблицы excel в ее раздел Input, и она автоматически создала красивую компоновку текста в юникоде.