excel - Excel中一个单词的十六进制值

标签 excel excel-formula excel-2016

如何让 Excel 2016 将一个字(两个字节)中的十六进制值转换为十进制(0xffff 必须转换为 -1 而不是 65535)?
谢谢

最佳答案

假设您在单元格 A1 中有 16 位(2 字节)十六进制值(例如“FFFF”),您可以这样做:

=BITXOR(HEX2DEC(A1),2^15)-2^15

这将:
  • 将十六进制值转换为无符号十进制(预期的负数范围从 2^15 开始,即高于预期的非负数范围)。
  • 反转最高有效位(位 15)以交换预期的非负范围和负范围(此时两个范围仍然非负,但现在预期的负范围低于预期的非负范围)。
  • 将两个范围向下移动,以便预期的负范围到达其最终目的地低于零,并且预期的非负范围达到其最终目的地在零及以上。

  • 例子:“0”变成0,“7FFF”变成32767,“8000”变成-32768,“FFFF”变成-1。

    注意:如果输入值在实际十六进制值之前或之后包含垃圾(例如“0x”),则必须在调用 HEX2DEC 之前删除这些垃圾(例如,通过执行 MID(A1,3,4))。

    关于excel - Excel中一个单词的十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50551493/

    相关文章:

    excel - 如何在 AVERAGEIF 函数中使用多个条件

    excel - 在 Excel 中获取汇率而不使用 "RATE"命令

    excel - 将一个数字提高到一个数字范围的幂

    excel - 我可以使用 Perl 从 PDF 中提取表格吗?

    excel - 在列中查找包含文本且在字符串的前 6 个字符中不包含特定单词的单元格

    excel - 编写Excel公式来检查所有行是否具有相同的ID但文件名不同

    excel - 如何在不为每个行分配按钮的情况下向行添加交互?

    vba - 嵌套WorksheetFunctions的VBA代码中的IfError编译错误

    excel - dde 链接单元格更改时的时间戳

    java - 如何使用 apache poi 4.0 XDDFChartData、XDDFPieChartData 生成饼图;在使用 java 的 excel 表中,我不想使用 jfree