【问题标题】:Converting latitude in decimal degrees format to a hexadecimal value将十进制度格式的纬度转换为十六进制值
【发布时间】:2019-08-04 18:11:20
【问题描述】:

我有一个十进制度格式的纬度值 (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 

【问题讨论】:

  • 您所描述的包含纬度的“十六进制字符串”的示例有哪些?
  • 我已经编辑了帖子以包含一个示例十六进制字符串。

标签: c# type-conversion hex decimal latitude-longitude


【解决方案1】:

示例中的第三到第十个十六进制对包含 IEEE 754 格式的纬度。可以转换成double,如下:

long val=0x40404d91c01be462L;
double dbl=BitConverter.Int64BitsToDouble(val);
Console.WriteLine(dbl);

纬度可以按如下方式转换回其“原始”位:

long latBits = BitConverter.DoubleToInt64Bits(dbl);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2021-12-26
    • 2010-11-11
    • 2014-02-05
    • 1970-01-01
    • 2013-11-27
    相关资源
    最近更新 更多