如何解决这个转换十六进制到八进制像excel

本文关键字:十六进制 转换 八进制 excel 何解决 解决 | 更新日期: 2023-09-27 17:50:15

我正在尝试将十六进制转换为八进制,就像c#中的excel一样。

在普通转换器中:

=Hex2Oct("FFF0FFFFFF") 
Answer:17776077777777
在Excel中

:

=Hex2Oct("FFF0FFFFFF") 
Answer:6077777777

我怎样才能解决这个问题有谁知道我的名字吗?

如何解决这个转换十六进制到八进制像excel

Excel 截断结果,所以它是不正确的;根据手册

https://support.office.microsoft.com/en nz/article/hex2oct -功能- d52055af - 1 - be5 - 43 - c1 - 9319 - 2 - ce0ab3569f4

- If number is negative, it cannot be less than FFE0000000, 
  and if number is positive, it cannot be greater than 1FFFFFFF.

所以你的参数("FFF0FFFFFF")超出了范围。

示例c#代码

private static String Hex2Oct(String value) {
  // Assuming that given value is short enough to be represented as Int64
  return Convert.ToString(Convert.ToInt64(value, 16), 8);
}
...
Console.Write(Hex2Oct("FFF0FFFFFF")); // 17776077777777