将十进制格式的纬度转换为十六进制值
Converting latitude in decimal degrees format to a hexadecimal value
我有一个十进制格式的纬度值 (32.60601045)。我该如何将其转换为十六进制字符串?
我有一个 C# 程序可以读取十六进制字符串并将其解码为不同的字段。我知道字符串中某处有一个纬度,其值转换为 32.60601045,因此我想将 32.60601045 的预期值转换为十六进制字符串,以便我可以在我的十六进制字节字符串中找到它。
编辑:
这是一个十六进制字符串示例:
02-00-62-E4-1B-C0-91-4D 40-40-AF-2D-29-64-D4-4A
5D-C0-00-66-66-6A-42-00 29-5C-8F-BD-00-00-63-00
您示例中的第三至第十对十六进制数包含 IEEE 754 格式的纬度。可以转换成double
如下:
long val=0x40404d91c01be462L;
double dbl=BitConverter.Int64BitsToDouble(val);
Console.WriteLine(dbl);
纬度可以转换回其 "raw" 位,如下所示:
long latBits = BitConverter.DoubleToInt64Bits(dbl);
我有一个十进制格式的纬度值 (32.60601045)。我该如何将其转换为十六进制字符串?
我有一个 C# 程序可以读取十六进制字符串并将其解码为不同的字段。我知道字符串中某处有一个纬度,其值转换为 32.60601045,因此我想将 32.60601045 的预期值转换为十六进制字符串,以便我可以在我的十六进制字节字符串中找到它。
编辑: 这是一个十六进制字符串示例:
02-00-62-E4-1B-C0-91-4D 40-40-AF-2D-29-64-D4-4A
5D-C0-00-66-66-6A-42-00 29-5C-8F-BD-00-00-63-00
您示例中的第三至第十对十六进制数包含 IEEE 754 格式的纬度。可以转换成double
如下:
long val=0x40404d91c01be462L;
double dbl=BitConverter.Int64BitsToDouble(val);
Console.WriteLine(dbl);
纬度可以转换回其 "raw" 位,如下所示:
long latBits = BitConverter.DoubleToInt64Bits(dbl);