嗨我需要将GPS跟踪器的响应值转换为纬度和经度。响应值采用十六进制格式,文档中的纬度和经度为measured in degrees with a 1x10^-7 degree lsb, signed 2’s complement
。例如:
Hexa Binary decimal longitude
B9DCF6B1 10111001110111001111011010110001 3118266033 -117.6701263
任何人都可以帮助我使用php解决这个问题。
答案 0 :(得分:3)
将this answer移植到PHP:
function convert($hex)
{
$dec = hexdec($hex);
return ($dec < 0x7fffffff) ? $dec * 0.0000001
: 0 - (0xffffffff - $dec) * 0.0000001;
}
测试:
var_dump(convert('B9DCF6B1')); // float(-117.6701262)