如何在 C# 中将 Two 的补码应用于字符串十六进制

本文关键字:补码 应用于 字符串 十六进制 Two 中将 | 更新日期: 2023-09-27 18:31:05

我需要帮助在 c# 中使用 2 的补码将我的十六进制字符串转换为十六进制

示例:0x00FEB5AB → 0x00014A55

我的十六进制。 00FF17DB → ?(这表示负纬度值)

和 00FCFF75 → ?(这表示负经度值)

谢谢=)

如何在 C# 中将 Two 的补码应用于字符串十六进制

如果您使用的是 32 位 2 的补码,您所要做的就是:

string hx = "00FF17DB";
uint intVal = Convert.ToUInt32(hx, 16);
uint twosComp = ~intVal + 1;
string h = string.Format("{0:X}", twosComp);
Console.WriteLine(h);

所以你的价值观应该是

00FF17DB → FF00E825

00FCFF75 → FF03008B

希望这对你有帮助